Add and fix comments to protocol.py
Add note about questionable error handling while decoding messages.
Will remove once any error handling issues are resolved.
Fix unit tests.

This is pretty much a rewrite. The tests that involve offset requests/responses
are not implemented since that API is not supported in kafka 0.8 yet.
Only kafka.codec and kafka.protocol are currently tested, so there is more work to be done here.