Introduce promises API with Q

This adds promise usage for reading and writing game states.