Clean up the data objects

Make them slotted to reduce overhead, add iter method for accessing as a dict.
Dont shadow external variable name
Minor cleanup

- Make get_config static
- Remove redundant attribute
- Remove connection configuration passing
Clean up requirements
Fix the import and calls
Fix tests
Minor method signature cleanup
Rename base class
Bump version
Updates to installation requirements
License update
Add Travis-CI configuration
Ignore cli testing app
Update setup config

- get long description from README.md
- get license from LICENSE
- include both in package
Change configuration names

- Remove deprecated min/max for consumer qty
- Minor method signature cleanup
Code cleanup

- Update statsd sending to not connect to socket (It's UDP)
- Fix automatic QoS calculating
- Move heartbeat interval settings to a connection level setting
- Fix contract with rejected.consumer.Consumer
Update the example info
Remove unused constants and update hb interval

Use default heartbeat interval of 5 minutes
Consumer & Test updates

- consumer.Consumer was split into 4 classes with consumer.Consumer not having any smart or magical behavior other than property accessors for acess to parts of the message
- Tests updated in various places