protocol-conform wire-level encoding of command and headers

* ASCII (STOMP 1.0)
* UTF-8 (STOMP 1.1, STOMP 1.2)
more encoding stuff

* added unit tests
* headers are now raw Python objects (not str) and are encoded only on
the wire level
* subscription tokens are uniformly represented as unicode strings