Make a key query request for the given users
list of user ids
sync token to pass in the query request, to help the HS give the most recent results
resolves when all the users listed have been updated. rejects if there was a problem updating any of the users.
Serialises updates to device lists
Ensures that results from /keys/query are not overwritten if a second call completes before an earlier one.
It currently does this by ensuring only one call to /keys/query happens at a time (and queuing other requests up).