`Keyspace`: Ensure that `get` and `describe` return transformed promises.

`then` always returns a new promise. If a handler returns a value, the new
promise will be fulfilled with that value. If a handler throws an exception,
the new promise will be rejected with that exception.
`Connection`: Ensure that `createKeyspace` and `dropKeyspace` return promises.

Clean up `selectCqlVersion`. Ensure that `createKeyspace` does not throw if the
`options` argument is omitted.
`ColumnFamily`: Ensure that the `this` binding is preserved for iterators.

Ensure that `insert` and `getColumns` do not throw exceptions if the `options`
are omitted.
`Marshal`: Handle composite types correctly.
`Pool#use`: Ensure that the resolved handler returns the selected keyspace.