Extension hooks and skeleton of phongo, and basic bson implementation

`$responseDocument` should be an array or object.