Let RxJava manage the asynchronous stuff

Refactorization and simplification of the classes related to data persistance.

The calls to the Drive API are now synchronous, and the asynchrony is now managed via RxJava. This also helps simplify the hell of inner classes, so I backed down on my initial decision to translate that code to Groovy.