Reorganise Travis and add Saucelabs for testing

Takes what Kyle started in #447 and what I was doing in #610, I went away and cleaned up some of the excessive commits needed to test options in Travis. This PR will fail to build as it has my repo details and sauce lab account in the secure variables in the travis.yml file. Here is the build from my Travis account showing it works, https://travis-ci.org/SteveGilvarry/ZoneMinder/jobs/42546173, as soon as we swap those secure variables it will pass Travis and Saucelabs using the zone minder account.

- Splits Travis into scripts to clean up
- Sets up tunnel between Saucelabs and Travis VM to allow browser based tests
- Used Selenium Builder to build a basic test that ZM was running on web interface
- Uses SE Interpreter NPM to convert and run json tests built by Selenium Builder
- Also calls JS to send results of Selenium tests back to Saucelabs, and updates the test status badge displaying on Readme
- SE Interpreter also allows me to run the same tests on multiple browsers in the same run, so far setup firefox and chrome.


Would you mind giving me a high-level overflow of the flow of how this works?
Between firefox being spun up, and the selenium test being run, how does the listener fit in?