Use MongoBinData subtype constant in lieu of hard-coded value
PHP-1269: Exception if MongoBinData::UUID_RFC4122 has invalid size

RFC4122 UUIDs (subtype 4) should always be 16 bytes. Don't validate older UUIDs (subtype 3). Raise exceptions during MongoBinData construction and BSON en/decoding.

As the tests illustrate, it's still possible to create an invalid MongoBinData state by altering the binary string with reflection (overcoming the read-only property restrictions). In this case, we'll rely on BSON encoding for validation.
Merge pull request #762