Better type errors

In 0.9.2 (and master), if one passes a `group` to `SimpleConsumer` that is a unicode string, it bombs with the terribly unhelpful message below. This PR merely makes the error more helpful by providing a message describing what should have happened and what type was provided. With it in place, the fix would be obvious.
```
Traceback (most recent call last):
  File "sniff_topic.py", line 52, in <module>
    main(sys.argv)                          
  File "sniff_topic.py", line 38, in main   
    cons = SimpleConsumer(client, group, topic)
  File "/home/ubuntu/venv/local/lib/python2.7/site-packages/kafka/consumer.py", line 243, in __init__
    auto_commit_every_t=auto_commit_every_t)
  File "/home/ubuntu/venv/local/lib/python2.7/site-packages/kafka/consumer.py", line 115, in __init__
    fail_on_error=False)
  File "/home/ubuntu/venv/local/lib/python2.7/site-packages/kafka/client.py", line 384, in send_offset_fetch_request
    resps = self._send_broker_aware_request(payloads, encoder, decoder)
  File "/home/ubuntu/venv/local/lib/python2.7/site-packages/kafka/client.py", line 151, in _send_broker_aware_request
    correlation_id=requestId, payloads=payloads)
  File "/home/ubuntu/venv/local/lib/python2.7/site-packages/kafka/protocol.py", line 482, in encode_offset_fetch_request
    message += write_short_string(group)
  File "/home/ubuntu/venv/local/lib/python2.7/site-packages/kafka/util.py", line 23, in write_short_string
    return struct.pack('>h%ds' % len(s), len(s), s)
struct.error: argument for 's' must be a string
```

p.s. If you have not yet tried [PyCharm](https://www.jetbrains.com/pycharm/) you don't know what you're missing. I'm surprised that unittest2 allows such things, but the `test.test_util.UtilTest` class redeclared the same method name over and over.
I think it's pretty poor form to start an editor flame war in a code review, or to assert that text editing is somehow not also editing code.  One could just as easily assert that vim edits _code_ just as well if not better than Pycharm without crippling your ability to edit the text the code is composed of.

;-)

-Mark

> On Aug 22, 2014, at 17:20, Matthew Daniel <notifications@github.com> wrote:
> 
> In kafka/util.py:
> 
> > @@ -117,4 +123,5 @@ def stop(self):
> >  
> >          self.active.set()
> >          self.thread.join(self.t + 1)
> > +        # noinspection PyAttributeOutsideInit
> >          self.timer = None
> We had people on my team who swore by vim as well, because one can manipulate text amazingly well in vim. The trouble is that a Python programmer is not manipulating text, they are paid to manipulate Python code. PyCharm works with code, vim works with text. But it's your project, you can do as you'd like.
> 
> The # noinspection PyAttributeOutsideInit is because of a warning that the class spontaneously acquired a timer attribute which wasn't mentioned elsewhere in the class; it is unclear what that statement was trying to do, but because I couldn't prove it was wrong, I just asked PyCharm to not warn me (or follow-on coders) about it.
> 
> —
> Reply to this email directly or view it on GitHub.