Package/tools refactor

Re-factor the code:
    * Make use of proper python package structure
    * Automation with tox
    * Pylint checking fixups
    * CI with TravisCI