Add Envelope-less BasicAck overload

Add a `Channel::BasicAck()` overload that doesn't require the `Envelope` object to hang around until the time when BasicAck is called.

This is a feature request from #52