ID-52

To be in line with the Dashboard 2.0, this PR replaced the data model with Mongoose, and fixed few bugs as well. Like the [ID-32](https://issues.openmrs.org/browse/ID-32).

###In Detail
+  Authorization Code will be deleted after exchanging, or after the expiration time(hard coded as 10 minutes).
+  One (user,client) combination will have only one Access Token.
+  If there is already a Access Token, the consent process will be skipped.(ID-32).

I think it isn't at the moment, but will be, when we are supporting different scopes. At that point, it won't be enough to remember if the user had authorized in the past, we will also have to ensure that they authorized a specific scope.