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.


Yep I am going to document it.
se-interpreter, allows you to create Selenium tests with SE Builder, or I think it is now called Selenium Builder, Firefox add-on that lets you build the tests in page as a recording. If you give me some examples you want to test I will try and write them, initial test was just proof of concept.
Using the interpreter config json for se-interpreter, that controls the tunnel setup, under Driver, and then the Suacelabs connection and test setup using the Browser section.
Away it goes and kicks off the tests and runs them, and writes the results to the command line in Travis. But Selenium has no way to update Saucelabs with the results of the test, so you end up with a bunch of tests that just say Finished, but don't evaluate if the test works. The final piece is that listener, which is part of se-interpreter, it listens for results of selenium tests and uses the API to update SauceLabs with Pass or Fail. If you look at http://saucelabs/u/SteveGilvarry, and go back through the pages of tests you will see when it changed from Finished to Pass. Needed that to make the badge work, and the Browser status matrix as well.