Consumer Metadata fields no longer optional

per latest spec change, they always occur now
Add topic and partition to ConsumerEvent struct
Update docs and sendError
Merge pull request #91 from Shopify/export_topic_and_partition_in_consumer_event_struct

Add topic and partition to ConsumerEvent struct
Move ConsumerConfig validation to separate method that is exported.
Add docs for ConsumerConfig#Validate.
Do the same for ClientConfig and ProducerConfig
Add NewConsumerConfig()
Add NewProducerConfig
Add NewClientConfig
Small fixes
Merge pull request #94 from Shopify/export_validate_config

Export Validate method on config instances
Add BrokerConfig

This will let us add more configuration options to the broker without breaking
API so badly.
Add broker read-timeout

Another approach for #55, #90. Should (?) fix issue reported in comments of #73
by @sclasen.
Add write deadline as well

Also correctly handle errors that can occur when setting a deadline.
Merge pull request #96 from eapache/broker-timeout

Broker timeout
Merge pull request #93 from eapache/tweak-consumer-metadata

Consumer Metadata fields no longer optional