Bugfixes, statsd support

- Fix shutdown issues
- Fix issues where consumer __init__ is expecting something other than configuration kwarg
- basic_ack multiple=True to see if it addresses a phantom unacked messages issue
- Catch if a consumer does not extend rejected.consumer.Consumer when checking for WANTS_CONNECTION_CONFIG
- Change shutdown state for edge cases
- Handle some permission and other errors when checking for a dead or zombie process
- When all else fails call process.terminate()
- Catch JSON decoding errors in a consumer