Extension hooks and skeleton of phongo, and basic bson implementation

I didn't add any return types yet.. Do we want to do that for everything before implementing them one-by one?