Use constants for string/byte literals

Patch to support #107. 

This moves string/byte literals to constants. 

This is more reliable to maintain, and 2/3 compatibility can be accomplished with one call to `six.b` or equivalent on import of a module rather than an unnecessary function call during runtime whenever a literal is used.
perhaps it makes sense to rename `nsq/nsq.py` to `nsq/protocol.py`?