Rename `Method.channel` to `Method.channel_id`

This is a more appropriate name which reflects the type of the variable.
Rename METHOD_MAP (remove leading underscore)
Pass isinstance a tuple (code clarity)
Clean up code and docstrings
Clean up docstrings
Add `assert` to clarify code

Theese methods should accept the `method` parameter as they are intended to be
used as callbacks.
Inline variable for clarity
Fix critical bug in _wait_method

The last call to wait() must only be done on the connection object, but was
instead being done on the channel object.