Strictly enforce str message type in producer.send_messages

Raise TypeError in kafka.producer.send_messages if any msg is not a str (or subclass)
Improve documentation
Add producer unit test
Note that you can actually pass a string in as msg to this function and it will currently work.  We need at least two layers of type checking.  Maybe something like:

    if not isinstance(msg, (list, tuple)):
        raise TypeError(...)

    if any(not isinstance(m, str) for m in msg):
        raise TypeError(...)