Make the library a bit more flexible internally

I've refactored the library to allow it to search for different environment variables and database URI schemes. For example, I'm using a [MongoHQ](https://devcenter.heroku.com/articles/mongohq) database where the environment variable is called `"MONGOHQ_URL"` and the database URL starts with `mongo:`.