Improved classes RawData and String in module ejtp.util.py2and3
Replaced string constants with actual constants in module router

Router.runstate was either "stopped" or "threaded". To avoid problems with string handling there now are the constants STOPPED (=0) and THREADED (=1) in module router
Replaced all relative imports with absolute ones
Classes RawData and String from module ejtp.util.py2and3 now correctly support unicode

RawData and String now use methods encode and decode instead of unichr(ord(char)).
Thus multi-byte unicode characters are now supported.
Changed __getitem__ of RawData and String to return instances of themselves
Added export methods to RawData and String

You need this methods to call methods like json.loads because they only accept builtin strings. export() is not considered for using it anywhere apart from this!
Added decorators for RawData and String

Also added __int__ for RawData to convert it to int if it contains only one byte
Changed call of decorators to kwargs instead of bitmask constants
Implemented RawData and String in a chunk of files

That's still not all files that need the implementation but at least it's something.
I also changed client.py to use the new Frame constants
Implemented RawData in ejforward and client
Removed unused functions

Because there now is RawData and String we no longer need functions that convert to unicode or do similar things.
Added join and index to String and join to RawData