Extension hooks and skeleton of phongo, and basic bson implementation

Our current driver uses `::` instead of `->` in protos.