Fix a channel close issue; Allow zero-length content bodies
Convert to house style

Aside from whitespace,
 - put `discard` in the same 'scope' (just for tidiness)
 - use `new Buffer(0)` instead of `new Buffer("")` (closer to metal)
Test send/expect 0 body frames for 0 byte messages

If a message has no content, no content body frames should be sent, or
expected. See spec §4.2.6.

Corrected the comment too, including removing the bit about
interleaving message frames: they can't be interleaved with method
frames after all. (Which means the code is too forgiving. Ah well.)
Back out the guard on rejecting pending RPCs

It's not clear what is the glitch here, so I'd rather not paper over
it for the minute.
Merge branch 'issue10'