chore(tests): Adds tests

* Adds upgrade tests
* Adds downgrade tests
* Fixes remove tests
* Installation should now be asynchronous for the most part.
* Cleaned up some files
* Added travis YAML file