Add official RabbitMQ docs for reference
WIP
methods.connection: Fix a missing reserved default in Open
methods.tests.test_common: Some docstrings
frames: Module-level docs

Discourage poking around innards, describe basic operation and modules.
More WIP for connections
protocol.connection: Improve error handling and add Close option to not wait for CloseOk

The close option exists for the case where message recv is no longer working,
eg. a recv frame error
WIP beginnings of a recv loop
Rename SyntaxError as python has a SyntaxError builtin
frame: Overhaul errors, so instead of ValueError everywhere we use more specific AMQP errors

The meanings of each kind of error are as follows.
ValueError: Bad value attempted to be packed (user error).
AMQPSyntaxError: Recoverable error in unpack.
FrameError: Unrecoverable error in unpack, ie. no more frames can be unambiguously received.
frames.method: Automatically attach method as extra data to errors during unpack()
protocol.connection: More work
methods.common: Fix a problem with a test case
common: Fix a missing import
Add tests for grabbit.common
protocol.connection: Finally done?
protocol.channel: Continued WIP