some cleanup and reorganization (more required). hmac support

This stuff doesn't work right now due to the following issues:
* pyrox is not generating new filter objects per request which causes
  some state mixing
* pyrox is not sending an empty msg_part when a response is complete so
  we don't know when a response ends to do the hmac comparison
* data is being stored in a buffer internally rather than throttling the
  request/response