Dont assume there is a memoryview.tobytes()

Cast with bytes() instead
Misc updates

- PEP8 cleanup
- channel.py/connection.py: Check to see there is an actual exception being raised, not just a type of exception passed in (Python 2.6 issue)
- channel.py: specify the default priority of None