Throw deprecation notice when setting a value to a deprecated member
Fixed PHP-796: Modifying MongoDate internal properties evilness

Also fixes PHP-797: Deprecate public properties

We only raise the deprecation warning when the user is trying to set
these properties. There seems to be a lot of code in the wild that reads
the properties and as that doesn't do us any harm we shouldn't deprecate
that, or disallow it.
However, setting these properties from userland creates all sorts of
validation problems for us, and dozens of dozens of different segfaults.

Note that we still set these properties internally, which does not raise
the warning.
Deprecate overwriting more properties
Fixed PHP-819: Add Mongo[DB|Collection]->[get|set]WriteConcern()

We need these functions so we can deprecate setting the public
->w and ->wtimeout properties, and remove in the future
Fix a memory leak when the property name isn't a string
Merged Pull Request #447

* pull-request/447:
  Fix a memory leak when the property name isn't a string
  Fixed PHP-819: Add Mongo[DB|Collection]->[get|set]WriteConcern()
  Deprecate overwriting more properties
  Fixed PHP-796: Modifying MongoDate internal properties evilness
  Throw deprecation notice when setting a value to a deprecated member