Especially during start up, syncRoster can get called a *lot*. We already avoid
doing them in parallel, but they can happen one right after the other, locking
up the DB and churning IO.
Now, after we persist the roster, wait for 500ms before giving the next persist
a chance to run. That way, other stuff has 500ms to get work done and we lose
very little DB consistency in the case of a failure.