Major refactor

* [ ] Add complete Metadata for Preset and Category
* [x] Major refactor
* [x] Fix Travis build errors
* [x] Add Protractor / Cucumber setup (no tests yet)
* [x] Add SauceLabs integration for E2E testing
* [ ] Rewrite of server side code to allow it to be driven properly by automated tests.
* [ ] Add E2E tests
* [ ] Squash/fixup commits