submodule mongo-c-driver and libbson and build it into phongo
We submodule these now and automatically build it
Missed a file
Link against libbson and make it available to mongo-c-driver
Hack around mongo-c-driver not allowing us specify libbson location
Remove empty dir since there is nothing to make there
Build against bundled.. just not mongoc bundled
debugging travis
Overwrite the path to libbson that should be linked against
These dirs are required for all normal 'make' targets
Supress the initialization output
Enable a waterfall of compiler instructions for libbson and mongoc
Move BSON encode/decode stuff into BSON namespace

BSON\toArray()
BSON\toJSON()
BSON\fromArray()
BSON\fromJSON()
Rename query document field in query struct

Selector and query are both BSON, so a "bson" field is a bit ambiguous.
Change Query constructor args based on CRUD API spec

Query document is the only required field. All other fields are optional. To avoid complicating the constructor, we'll handle the option merging in the init function.
Update tests for revised Query constructor API
Fix setting of zvals with zend_hash_update() when constructing query

New tests cases for fixed hash update code paths on $orderby and $query keys.
Use ZEND_STRS() when passing string/size arguments

ZEND_STRS cannot be used with the zend_hash_update macro, since the preprocessor complains about a missing argument before expanding ZEND_STRS. Creating a variadic macro to wrap zend_hash_update would work, but instead we'll just manually expand ZEND_STRS.
Error if phongo_query_init() filter isn't array or object

This is just a sanity check, since zpp in the Query constructor should ensure we have the appropriate type.
Use array helpers instead of hash iteration in Query option parsing

Fetching a nonexistent key returns zero, which is a safe assignment for the numeric query options. For other options, we raise an error if the expected type is invalid (this should likely be changed to an exception).