Extension hooks and skeleton of phongo, and basic bson implementation

We may or may not need to add `$writeOptions` here.