Extension hooks and skeleton of phongo, and basic bson implementation

See #5. I made a mistake in my first PR and these should not have overlapping bits.