Change minimal build to java 7

gh-17
Add support for tomcat 8

Added dependency for starter-tomcat and set tomcat version to 8.0.8.

Fixes gh-17
Experiment travis build with maven options
Remove hard-coded database configuration

These configurations were initially there for travis as I did not know how I can pass them. They are now gone in pom.xml and being specified in .travis.yml

gh-18
Specify that the password for database is empty

Build failed when the password is not been specified at all. I.e. -Ddb.password. Here we are specifying it as empty string.

Fixes gh-18
Add dependency for swagger-springmvc

swagger-springmvc will be the library for creating REST API.

gh-19
Downgrade platform-bom dependency

Downgrade to version 1.0.2.RELEASE because 2.0.0.BUILD-SNAPSHOT is unstable as it is causing the application failed to be deployed on tomcat 7 and 8.

Fixed gh-20
Add SwaggerConfiguration class

SwaggerConfiguration class as its name is responsible to provide general information regarding the API.

gh-19
Add API information and update path for create and update

Add a more human words describing the API. Changes to the path is because swagger is unable to discover path operation that is being defined without value or an empty string as value.

gh-19
Fix error in executing repository test

Annotate UserRepositoryTest with @WebAppConfiguration to avoid servlet exception.

Closes gh-19
Update dependency for platform-bom

To keep the hipster spirit alive. I prefer to use the latest stable snapshot that they have. I.e. 1.0.3.BUILD-SNAPSHOT

Closes gh-20
Replace application.properties with application.yml

Things are better organised with YML.

Closes gh-21
Remove trailing slash in mapping

Poor understanding made me believe it is required for Swagger to pick up the end REST end point.

gh-19
Add API version information

gh-19
Remove unnecessary declaration

gh-19
Add submodule to swagger-ui

To customise swagger-ui's layout through Java is difficult. Making it a submodule is much easier.

gh-19
Remove repository setting for jfrog

It was there previously to cater for swagger-ui. Now we are using basic HTML for swagger-ui, the repository is no longer needed.

gh-19
Remove IndexController

IndexController no longer needed. This is because when a request made to "/" it will look into resources/public/index.html automatically.

gh-19
Update configuration for swagger-ui

gh-19