Allow users to authenticate against different database

For use with an oplog that must be accessed via a user on a database other than local i have added a new item into the credentials config to choose user source.

the updated credentials look like:
"credentials":[
  {
    "db":"local",
    "password":"password",
    "user":"test_db_user",
    "auth":"test_db"
  }
]

where "auth" is the user source

I have currently built this code against 2.0.0 version as our environment requires, but i see no breaking changes that will stop from working on the latest snapshot
everywhere else we have `if (` instead of `if(`