uri: add mongodb:// style URI parser.
protocol: add protocol flags and events with simple encoder.

This can either compose to a buffer or use iovec directly with writev().
In the most simple case, writev() is just barely faster than buffering.
In the pathological case, where much buffer resizing will occur, it is
a lot faster and easier on the memory allocator.

This should allow for building both a sync and async client eventually.
break code out into logical components.
add autoconf/automake based build system.
tests: add unit test for mongoc_uri_t.
track libbson master.
event: add test for encoding of mongoc_event_query_t.
m4: don't include libtool.m4.
event: add test for mongoc_event_query_t with no fields set.
event: add encoder test for mongoc_insert_t.
tests: add test case for mongoc_event_update_t.
tests: add test case for mongoc_event_delete_t.
tests: add test case for mongoc_event_get_more_t.
tests: add test case for mongoc_event_kill_cursors_t.
tests: add test case for mongoc_event_msg_t.
tests: add test case for mongoc_event_reply_t.
make sure mongoc-stdint.h is installed and included.
bson: track bson_t implementation changes.
conn: start on basic connection structure.

This structure will be private to the library and headers will not be
installed on the target system. It will be used by higher level API such
as mongoc_client_t to communicate with the target server.
queue: add a double-ended queue implementation.