Add error handling for empty topics

We've seen production errors like these when the topic is empty:

```java
2013-10-10 18:33:43,465] ERROR [KafkaApi-2] error when handling request Name: TopicMetadataRequest; Version: 0; CorrelationId: 0; ClientId: admin-push; Topics:  (kafka.server.KafkaApis)
kafka.common.InvalidTopicException: topic name is illegal, can't be empty
	at kafka.common.Topic$.validate(Topic.scala:29)
	at kafka.admin.CreateTopicCommand$.createTopic(CreateTopicCommand.scala:87)
	at kafka.server.KafkaApis$$anonfun$handleTopicMetadataRequest$1.apply(KafkaApis.scala:505)
	at kafka.server.KafkaApis$$anonfun$handleTopicMetadataRequest$1.apply(KafkaApis.scala:499)
	at scala.collection.immutable.Set$Set1.foreach(Set.scala:86)
	at kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:499)
	at kafka.server.KafkaApis.handle(KafkaApis.scala:68)
	at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:42)
	at java.lang.Thread.run(Thread.java:724)
```

Sarama get's back an invalid server response which isn't very helpful. This'll add a check to return a helpful error in such cases, without hitting the Kafka node(s).