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.