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
This feels a bit hacky (e.g. what if someone adds a query parameter with list in the name to another call). Would it be better to do something like this, which I think is more to the point of what is meant?

    request.path().endsWith("list")