connection: add an optional `BlockingConnectionPool` class.

* implements the same api as the default `ConnectionPool`
* blocks for a specified timeout when getting a connection if no
  connections are available
connection: tests for `BlockingConnectionPool`.
compat: extract queue imports to _compat module.

Adds python 2.5 support for the LifoQueue structure.
connection: remove stray print statement.
connection: fix py3 syntax bug.
tests: tweak blocking connection pool test.

Previously the `test_max_connections_blocks` test wasn't actually
testing that the connection was blocking.
Merge pull request #340 from thruflo/master

Add optional `redis.connection.BlockingConnectionPool` class.