Where does the `64*1024*1024` limit come from? I didn't find it in the [BSON spec](http://bsonspec.org/#/specification). Technically, we're subtracting the null byte first, so the string length (without the null byte) would still be valid between 0 and `64*1024*1024` (inclusive).

I didn't change the macro because it's used for checking the length of a binary field, where its length prefix *does not* include the null byte.