Fix pointer comparisons.  The "void *" comparisons don't correctly downcast
virtual base classes.
Replace FuncDef's pathToFirstDeclaration with a reference to the receiver
type, which is less code, easier to understand and easier to serialize.
Merged.
Move BSONCursor to be an inner class of BSON.
Add inner class MongoSyncCursor.
Update test_bson.
Serialize a function's receiver type if there is one.  Also provide support
for general optional serialization and a write up of it in the MetaDataFormat
document.
Merged.