Don't remove IOLoop handler of a connection on every IO callback.

Instead, add handler at the start of an operation (e.g. opening a connection,
or executing an SQL query), update the handler everything an event occurs
(reading and writing) and remove the handler when the operation is done or
when an error occurs.
Add support for Hstore.

Support for Hstore had to be added because before the
adapter and typecaster for for dict-hstore conversions
can be registered the OID's for the hstore types need
to be manually fetched and fed to `psycopg2.extras.register_hstore`.
Added unit test for dict-hstore conversion.
Add TravisCI configuration file.
Minor documentation style adjustments.
Make hstore optional in the examples.
Updated changelog.
Add port number to TravisCI configuration file.
No multiple environments for TravisCI, just multiple env vars.
Try without hstore (TravisCI)
Ensure everything works under CPython 2.6, 2.7, 3.2, 3.3 and PyPy.
Added two excludes for PyPy on Travis CI.
Move tests out of momoko module.

This makes it possible to run the tests without importing
one of the Psycopg2 implementations first.
Update installation manual.
Removed unused import.
Make PDf generation work again by removing code block in parameter description.
Added a simple tutorial.
Replaced dynamic pool with a static pool.
Remove pool cleaner unit test.
Put operations in a IOLoop callback when no connection is available.

No exception will be raised when the connection pool has no idle
connections. The operation is added as a IOLoop callback and will
be executed when a connection is available.

`mogrify` doesn't need an idle connection, because it only needs some
information from a connection for escaping strings. And the first
connection is the pool will be used for this. An assert has been added
to ensure at least one connection is created in the pool.

A warning message will be shown when there are not enough connections
available.