Extension hooks and skeleton of phongo, and basic bson implementation

`proto array|object` unless we want the constructor to cast the object to an array.