Docs and tests for Channel.end behaviour

* Worked out exactly how Channel.end is implemented
* Wrote tests to assert this behaviour
* Wrote docs to specify this behaviour
Merge pull request #2387 from jroper/enumerator-channel-end

Docs and tests for Channel.end behaviour