removes game restoration methods and handlers from User
adds RestorationRequest to handle game restoration logic
removes restorationRequestSubmitted from backups stored by User - the restoration requests
can only exist as entities on the server when it is online, so they can be handled just
like any other object that needs to be synchronised between the client and the server.

storing it in localStorage doesn't make any sense at all, it just makes it harder to make
sure it's in sync.
refactors User to use a Promisor to handle promises