Fixes issue #279
Also added an integration level test that confirms the fix.
Had made a separate dir for the integration level tests thinking that
the unit tests were distributed with the package. After realizing this
isn't so I dropped them into the `tests` dir.
Merge pull request #285 from atatsu/connection-close

Fixes issue #279
Fix for issue #289

'messages' not initialized in BlockingConnection.cancel()
Pass the reason for the connection close to the connection close callbacks
Merge pull request #290 from mkocikowski/master

Fix for #289
Prefer outbound writes over reads

Untested response to issue #286
Update to a pre-release version
Fix a typo
Make queue_unbind behave like queue_bind, addressing #277
Async fix for #277
Restructure internal connection closing to address #275

- split up the _on_connection_closed method, creating an _on_disconnect method
- Have the heartbeat checker call _on_disconnect once it disconnects the broker
Pass a Method frame to Channel._on_close in Connection._on_disconnect

The channel's _on_close method expects a Method frame and was getting
a spec.Channel.Close object instead.
Fix channel closed callback signature in the Twisted adapter.

The callback function for closed channel events receives a Method
frame.
Don't stop the IOLoop on connection close for in the Twisted adapter.

Typical Twisted programs will not want to have their reactor stopped
just because the Rabbit connection has been closed.
Merge pull request #291 from wulczer/pass-method-frame-to-channel-on-close

pass a Method frame to Channel._on_close in Connection._on_disconnect
Merge pull request #292 from wulczer/channel-closed-and-ioloop-stop

Fix channel_close in Twisted adapter and don't stop IOLoop
Update the asynchronous examples to fix reconnecting and have it work
Warn if the socket was closed such as if RabbitMQ dies without a Close frame
Give more info in the ChannelClosed exception