Support for Redis database

As discussed in issue #1 I implemented Redis support by generalizing and abstracting the UserManController and implementing db specific subclasses for both mongodb and redis.

Breaking changes:
* The `UserManSettings` has now a `databaseURL` property replacing the `databaseName`.
* The `User` and `Group` properties have changed as follows: `BsonObjectID _id` is now `string id` `resetCodeExpireTime` is now `SysTime` instead of `BsonDate`. `fromBson` and `toBson` methods have been added to account for this when serializing to BSON.