Support for async producer

The Java/Scala Kafka client supports a mechanism for sending
messages asynchronously by using a queue and a thread.
Messages are put on the queue and the worker thread keeps sending
it to the broker.

This ticket implements this feature in python
We use multiprocessing instead of threads to send the messages
Merge branch 'master' into asyncproducer

Conflicts:
	kafka/producer.py
Add ack support for synchronous producer

Add support for two options in the producer - req_acks and ack_timeout
The acks, if any, are passed to the caller directly
Update README with new options
Fix import errors
Make the default case as 'ack on local write'

Also, ensure that the case of 'no-acks' works fine
In conn.send(), do not wait for the response. Wait for it only on
conn.recv(). This behaviour is fine now since the connection is not
shared among consumer threads etc.
Add exports in __init__
Merge branch 'master' into asyncproducer
Add support for batched message send

Also improve on the logic for stopping the async Processor instance.
Ensure that unsend messages are sent before it is stopped.
Update README with examples
Make README self-containing
Got batched mode to work properly
Optimize sending of batch messages
Test cases for new producer
Merge pull request #33 from mahendra/asyncproducer

Support for async producer

Merged locally, tests pass, +1