Replica set support and read preference support.

This code has been running on 100% of our production webservers at FindTheBest for about a week now, and all of our webservers are running on NGINX/HHVM. For our use case, the Mongofill plugin has been stable and fast. We don't use Mongo heavily, but we do have at least one read and write per page request. APC was used for storing server side information replica sets, because otherwise the spec would require too many replSetGetStatus calls, and they would giving our servers a hard time. The spec says we should cache it anyway. I think APC is fine though, because HHVM natively supports apc_store/apc_fetch, and from our tests, they are insanely fast.


use [parse_url](http://php.net/manual/es/function.parse-url.php) instead to avoid the:
https://github.com/mongofill/mongofill/blob/master/tests/Mongofill/Tests/MongoClientTest.php#L57