Replace setup.py test command into py.test

and drop tox from test_require dependencies
Add travis and tox configurations
Fix dependencies
Massively refactor bot.py

for testing without app.config all the cases
Fix the hashing code