adding support for replica set and authentication

This adds support for using a replica set for the mongoose connection.

In order to use it you need to specify the following options to keystone:
```
"mongo replica set":{
        "username": "your-user-name",
        "password": "your-password",
        "authSource": "your authentication source database (optional)",
        "database": "your db name",
        "rs_name": "your replica set name (optional)",
        "readPreference": "your read preference (optional)",
        "servers": [
            {
                "host": "server01.com",
                "port": 27017
            },
            {
                "host": "server02.com",
                "port": 27017
            },
            {
                "host": "server03.com",
                "port": 27017
            }
        ]
  }
```