Add support for many aspects of replica sets, including MongoClient::getHosts method.
fix MongoCollection::group conditions and return value
Fix support for specifying empty read preference tags at the end of tag list
Socket: more verbose error message for socket read errors
fix a few things with replica sets & read preferences
fix MongoClient::__construct to connect by default
Socket: use persistent socket connections with pfsockopen for performance.
implement MongoClient::__construct option connectTimeoutMS
local variable naming consistency
Use apc for rs status check to avoid checking it every request
cache replica set config and status using APC if available
tabs --> spaces. whoops.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/MongoClient.php
Add test for getHosts() method and fix a few unit test issues:

do not re-declare $db in MongoGridFS because it already extends MongoCollection. test was broken

fix MongoClient tests to not rely on the unsupported public $server variable

fix MongoCollection::group test to match the actual spec
only use persistent pfsockopen for HHVM, since PHP still has issues with it for some reason
fix hhvm array access error
do not request replica set config or status unless replSet is specified, since it would be a waste of a request and slow down performance for non-replica set configurations.
Add note to README about replica sets using APC
Merge pull request #56 from FindTheBest/master

Replica set support and read preference support.