Added pubsub functionality - see test cases for usage.
Notes:
The API should be unchanged.
Request was made abstract and two implementations were added - one for pubsub. An additional apply was made on the Request object that still allows concrete requests to be produced with either strings or bytestrings to maintain api compatibility.
Removed code where Bytestrings were being created from strings for Request instantiation as it is unneeded.
organized the imports a bit removing unused imports and ordering them similar to the style guide's recommendations.
Let me know if you want any changes before approving pull request.
I'm going to close this and submit another pull request without changes to the api. After considering this for a bit I don't think it's necessary to touch the api at this point.
Added pubsub functionality - see test cases for usage.
Notes:
Let me know if you want any changes before approving pull request.
Thanks, -Jason