Add ability to repeat tests to Marionette test runner

After executing a script we check the results for a 'repeat' flag. If it is set
we will start the same test again. To let tests run different routines when
being re-launched we pass an 'iteration' number to the script that is
executed. This will be available under this.__marionetteParams[0] in the test.
add restart/shutdown support for marionette
Bug 923606 - Add Marionette tests to cover startup/shutdown paths