merge from temp

rename lots of internal function, added some doc that show up in `help(ch)`
a little code cleanup,
no more striping of utf-8 message on windows/python2 (use the safe_print)
miror speed up
added a	small debug variable
bump version
joining of rooms is done on a different thread
use locking to prevent race condition
remove onstartjoin hack
add track and idle/online support

backward incomparable changes:
joinRoom no longer return the room, instead it return True and add it to the room joining queue
onStartJoin is remove, it's no longer needed since joining of room is done on another thread now
README.md minor edit

Accidentally a word. :)
fix issue https://github.com/Nullspeaker/ch.py/issues/34
_createMessage and _getMessage are no longer used anywhere