Extension hooks and skeleton of phongo, and basic bson implementation

Should `$info` be optional and default to an empty array? I suppose it might not always be relevant.