Getting things working with -Wall and -Werror

o adding some function declarations
o getting rid of some unused variables
o bson_return_val_if_fail instead of bson_return_if_fail for non-void
  functions
Merge pull request #3 from hanumantmk/ha_test_fix

Getting things working with -Wall and -Werror
pkg-config: move libmongoc-1.0.pc.in to mongoc/
tests: move abicheck.sh to tests/
style: add indent script and uncrustify config.
build: some linkers want explicit $(BSON_LIBS).
build: use $(TEST_LIBS).
counters: use %u instead of %hu for pid.
Changed stream handling of min_bytes and timeout

read changes
o min_bytes is now always positive
o only returns 0 on eof
o unix streams poll at least once, even for min_bytes = 0

read and write changes
o timeouts can now be negative.  A negative timeout implies falling back
  to the default.  A 0 timeout now means an immediate timeout
cursor: handle commands missing an "ok" field.

Fixes CDRIVER-243.
cursor: add mongoc_cursor_clone().

This allows you to clone a cursor at any time and replay the cursor.
No cursor state is cloned, so it is as if retrieving a fresh cursor.

This fixes CDRIVER-204.
ABI: mongoc_cursor_new() should not be in public ABI.
tests: request child processes die upon parent process death.

This helps if the parent process crashes, such as in test failure. It is,
however, Linux only.
cluster: track min and max wire version if available with isMaster.
cluster: never send a message larger than isMaster.maxMessageSize.
database: add mongoc_database_has_collection().

This function can be used to check to see if the MongoDB server knows
about a particular collection name.

Be careful using this, however, as it could be racey. Another client
could race to insert the first document into a collection, etc.

This is performed by sending a query to "system.namespaces".

If FALSE is returned, you should also check to see if error.domain is set
to disambiguate between a failure and no-existance.
collection: add test to query using regex.
cluster: enforce supported wire versions when connecting to MongoDB.

With the new write commands starting in 2.5.x, we need to negotiate
the wire protocol version of the driver<->server. During isMaster,
this will check the versions and fail the connection if we cannot
speak an overlapping wire version.

Fixes CDRIVER-245.
cluster: stub out check for wire version.
Adding gridfs support

Implements gridfs support in libmongoc

o mongoc_client_get_gridfs
o mongoc_gridfs_create_file_XXX
o mongoc_gridfs_file_(read/write/seek)