Support for multiple hosts in KafkaClient

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.

```
kafka = KafkaClient("localhost:9092,localhost:9093")
```

It also introduces the mock library for unit testing.

**Note**: some unit tests are marked as skipped until _disabling recursion on `_load_metadata_for_topics`_, an issue I found during testing (#68).