Workaround for Python 2.6 failing on urlparse for AMQP URLs (#8)

- Add unit tests for rabbitpy.utils
Allow for empty routing key
Use sendall instead of send, cleans up code a little

Seems to manage outbound TCP buffer use a bit better, less abusive?
Fix delivery confirmation waiting
Allow for empty routing key