Next step in refactoring the code to make it more readable and understan...

...dable:

-Split the controller into several different controllers as suggested in a previous pull request comments: A different controller for each function of the backend. This way we can avoid a MegaClass in Backend controller
-Split the access to Google API functions from the class GoogleAccess to two different classes: DatastoreAccess and CloudStorageAccess
-Added some interfaces to make the project more manageable in the future, just in case we need to switch to another cloud service provider

Everything is tested and works fine (in local, of course)