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
I dont think that is correct (or just can't replicate your issue):

```
In [39]: def test_variadic(*args):
    for m in args:
        print m
   ....:

In [40]: test_variadic('some string')
some string

In [41]: test_variadic('some string', 'another string')
some string
another string

In [42]: test_variadic([1,2,3])
[1, 2, 3]

In [43]: test_variadic(1,2,3)
1
2
3
```

nonetheless, i merged the extra error checking just in case :)