Improve error handling and tests w.r.t. codecs

Add function kafka.protocol.create_message_set() that takes a list of
payloads and a codec and returns a message set with the desired encoding.

Introduce kafka.common.UnsupportedCodecError, raised if an unknown codec
is specified.

Include a test for the new function.
Add integration tests for compression, both on consumer and producer side
Improve test fixture, add stand alone run_kafka command
Refactor test fixtures, doesnt currently work
Fix bug with successful start regexes and update run_kafka to pass zookeeper in
Incremental commit: fix test suite
Incremental commit: More test fixes