Extension hooks and skeleton of phongo, and basic bson implementation

Were we going to fill in the return type here, or can that just be done later?