per-user command history

make sure that command history is tracked separately per every user that
talks to the bot
[ChatRoom] become Python 3 compatible

thanks to  https://github.com/oxplot/fysom/issues/1
which in turn references http://www.rfk.id.au/blog/entry/preparing-pyenchant-for-python-3/
HIDE_RESTRICTED_COMMANDS option added

if set to True in config will prevent restricted commands to appear in the help response
Correctly pass timeout to Queue.get()

Else we may hang indefinitely :) Fixes #122
Allow changing sender of messages in test backend

Instead of completely hardcoding which jid messages are sent from, add a
sender attribute to the TestBackend class which may be changed to change
where messages are coming from.
Allow passing block to popMessage()
Merge branch 'tests' into pproduct
Add test for per-user command history
Merge pull request #123 from zoni/tests

Improve test framework. Nice simple one
Merge pull request #121 from zoni/webtest

Warn when missing 'webtest' package (needed for tests). thx
Python 3 doesn't have str.decode
py3 breakage on basestring
Merge pull request #126 from arrrrr/master

Python 3 doesn't have str.decode
Merge branch 'master' into pr/120

Conflicts:
	errbot/builtins/chatRoom.py
Merge branch 'p120-unittests' into pr/120
Fix a python3 incompat. where bytes were concat'ed to strings.
Fix bot not recognizing commands in a chat if prefix is optional
Add err-markovbot to built-in list of plugins

err-markovbot is (oh surprise) a markov chain bot you can
see at https://github.com/MaxWagner/err-markovbot
Because no chatbot is complete without a markov chain.
Merge pull request #131 from arrrrr/shameless_plug

Add err-markovbot to built-in list of plugins
Merge pull request #129 from arrrrr/master

Git repo handling breaks with python 3