Allow setting keyspace on connection initialization.
Add 'Types' module.
Merge branch 'use-keyspace' of github.com:romanb/cql-io into romanb-use-keyspace
Add `UnexpectedResponse'`.

To capture the actual `Response`.
Add exception types and remove 'Async' instance.
Remove unused language pragma.
Syntax.
Provide `MonadCatchIO` instance and add `runAsync`.
Move client types to internal modules.

Also expose this module.
Replace `MonadCatchIO-transformers` with `exceptions`.
Revert "Move client types to internal modules."

This reverts commit 9068d9fc8a88c1655affc76753d5cfc6411716fd.
Revert "Provide `MonadCatchIO` instance and add `runAsync`."

This reverts commit 54b1d3b63109300d6b499bb502571ac031c5221b.
Minimise connection usage.
Fix import.
Add `MonadThrow` and `MonadCatch` instances for `Client`.
Remove upper-bound from `exceptions`.
Tweak dependencies
Allow configuration of pool stripes
Add connect/send/receive timeouts.
Use `System.Timeout` instead of `eager-sockets`.
Use counter for maximum wait queue length.