add test to repro #84
Move channel field mutex from reentrant 'send'

IO errors from send can call shutdown on the connection
which calls shutdown on the channel which tries to claim a lock that is
held by the Publish that initiated the send.

The field mutex `m` doesn't need to lock any access before the send,
only the publish counter and publisher confirm heap so only include
those fields in the critical section.

Thanks @alexzorin
Increase the deadlock timeout for travis.
Server side close to trigger client write failure

Go versions less than 1.2 would block causing the deadlock timer to
artifically fire.
Merge branch 'master' into 84_publish_deadlock
Merge pull request #84 from streadway/84_publish_deadlock

Channel.Publish's blocks upon disconnection during high volume publishes