Support for multiple hosts on KafkaClient boostrap (improves on #70)

Allow KafkaClient to take in a list of brokers for bootstrapping (improves in #70)

Proposed resolution for enhancement #25

This change breaks the KafkaClient constructor API but replacing the host and port parameters with hosts represented as a comma-separated list of host:port.

E.g. as comma-separated string of host:port

```kafka = KafkaClient("localhost:9092, localhost:9093")```

or as list of host:port

```kafka = KafkaClient(['localhost:9092', 'localhost:9093'])```

It also introduces the mock library for unit testing.

Note: some unit tests are still marked as skipped until disabling recursion on `load_metadata_for_topics`_, an issue I found during testing (#68). They are enabled in #109