Clean up code
Update docstring
Remove unused types
Move `GenericContent` to `message`
Clean up write_method
Add `Method` class
Use references to constants instead of hardcoded tuples
Inline variable
Make use of `Method` object in more places
Move some methods to abstract_channel
Clean up code
Clean up code
Split TODO into high and lower priority sections
Use relative imports in tests
Create new Method and Frame classes

The code is rewritten to make use of new classes which enforce structure and
allow for easier testing, documentation, and better overall behaviour.
Add requirements.txt

We only need py.test for testing
Update docstrings
Bump version number