CDRIVER-437 Add authMechanismProperties to URI

This pull request attempts to bring us up-to-spec with respect to parsing auth-related things out of URI strings.  It changes a few things:

-adds the set of tests outlined in the spec
-moves auth-related options (```authSource```, ```authMechanism```, and the new ```authMechanismProperties```) to the URI's "credentials" instead of storing them in its "options."  Username and Password were and are still stored separately.
-credentials can be accessed via ```mongoc_uri_get_credentials(...)``` (this won't include username and password)
-```authMechanismProperties``` can be accessed separately via ```mongoc_uri_get_mechanism_properties(...)```
-```scan_to_unichar(...)``` now takes a string of "terminator" characters, and if it cannot find the provided "match" character before reaching a terminator, it treats that as a failure.
still shadowing the function scoped iter