CDRIVER-464: Add function to retrieve and set batch_size

The batch size needs to be tweakable between getmores

Added:
uint32_t mongoc_cursor_get_batch_size (const mongoc_cursor_t *cursor)
void mongoc_cursor_set_batch_size (mongoc_cursor_t *cursor, uint32_t batch_size)

Closes #120
CDRIVER-465: Add mongoc_client_kill_cursor()

A good samaritan should clean after himself using
mongoc_cursor_destroy(cursor), but you may not always have the cursor instance.
You are just trying to cleanup after a broken process, and all you got is
the cursorid, which you retrieved from db.currentOp()

Closes #121
CDRIVER-466: Add mongoc_cursor_get_id()

These can be retrieved by calling currentOp, but its impossible to map
them to specific cursor. We can just as well expose the id rather then
having the user guessing

Closes #122
housekeeping (abi/api)

int64_t cursor_ids and adding some new functions to the external abi
Update connection string parser to support ssl=prefer

This is needed when upgrading a MongoDB cluster from non-ssl to ssl
without a downtime.