Annotate transactions

This should prevent some race conditions that are currently present. My basic
strategy is that whenever a function reads the room from the database, modifies
it, then writes it back, it should be @ndb.transactional.