[#818] User roles and permissions

* Add management of user roles and permissions
* Hide survey definitions and survey response data depending on user authorization
Not sure if `keyId` is required to define a new user. `keyId` is just a `Long` representation of a [Key](https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Key)