Rewritten to use a url parameter for a conn string

URLs are pretty standard practice for most of the cloud hosting providers out there that offer mongo hosting, so we should keep parity.

Unfortunately, most of the driver had to be rewritten to account for the differences in the MongoClient driver that works with urls.

There are still a few bugs in this related to type coaxing, but it mostly works.