Improve authentication support

Added configuration for authentication, which supports database and
google oauth2. Other authentication strategies can be supported per
devise, but users will need to customize code to do so.