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.