Fixed PHP-1096: PHP crashes due to null pointer dereference on shutdown when JSON extension is not present
Merged pull request #698
Fixed PHP-1052: Replace JSON encoding of stream notifications with standard PHP serialize encoding.
Git rid of it in the config files too.
Merged pull request #699
Fixed PHP-1104: New Replica Set connections hang when secondaries are creating indexes during initialSync

After creating a connection the first thing we must do is do run isMaster().
We cannot run buildinfo or authentication or anything else. It must be isMaster().

This call to ismaster is to check what sort of node we are talking to, and make sure it is
actually a node we are allowed to talk to and can issue commands to (e.g. don't auth to
arbiter, don't send commands to STARTUP nodes, ....).

Unfortunately this means re-introducing the double isMaster() call, once for this sanity
checking and once more for replicaset topology discovery which is done in way different
place and sequence
Differenciate between last_ismaster and a ReplicaSet verification check.

We don't need to do two isMaster() checks for mongos/standalone connections
But we do need it for a ReplicaSet. The second call does the ReplicaSet integrity check,
such as match the ReplicaSet name and who "we" are, along with extracting out tags.

We need a way to be able to run this check even if we have called isMaster() as we don't
cache the actual responses.
Update MongoLog tests
Merge pull request #700 from bjori/PHP-874-ismaster-earlier

Fixed PHP-1104: New Replica Set connections hang when secondaries are cre...

* bjori/PHP-874-ismaster-earlier:
  Update MongoLog tests
  Differenciate between last_ismaster and a ReplicaSet verification check.
  Fixed PHP-1104: New Replica Set connections hang when secondaries are creating indexes during initialSync
Fixed PHP-1102: php driver throws exception when connect string contains an unresolvable
hostname

If we have any usable connection we should make sure we don't throw an exception and bork.
Unfortunately this means that letting the user know that his connection string is very bad
is difficult and only discoverable through MongoLog - unless the entire seed list is
broken
Add test for only invalid-hostname in seedlist
Fix test title as per PR CR
Merge pull request #701 from bjori/PHP-1102-exception-throwing

Fixed PHP-1102: PHP driver throws exception when connect string contains an un-resolvable hostname

* bjori/PHP-1102-exception-throwing:
  Fix test title as per PR CR
  Add test for only invalid-hostname in seedlist
  Fixed PHP-1102: php driver throws exception when connect string contains an unresolvable hostname
PHP-1106: Allow array or object arg to MongoWriteBatch::add()
Merge pull request #703
Fixed PHP-1099: socketTimeoutMS=-1 doesn't work in the connection uri
Fix log tests
Merge pull request #702 from bjori/PHP-1099-sockettimeout-ctor

PHP-1099: socketTimeoutMS=-1 doesn't work in the connection uri

* bjori/PHP-1099-sockettimeout-ctor:
  Fix log tests
  Fixed PHP-1099: socketTimeoutMS=-1 doesn't work in the connection uri
Fixed PHP-1109: upsert returns an array of ids rather then the _id
Merge pull request #704 from bjori/PHP-1109-upserted-id

Fixed PHP-1109: Upsert should return _id instead of array of ids

* bjori/PHP-1109-upserted-id:
  Fixed PHP-1109: upsert returns an array of ids rather then the _id