Bug 970804 - 1/3: refine Marionette oop test case selection. r=mdas

1) ./mach marionette-webapi <dir>/
 - selects all test cases under <dir> and execute them only in
   in-process mode.
2) ./mach marionette-webapi --type=+oop <dir>/
 - selects all test cases under <dir> and execute them only in oop
   mode.
3) ./mach marionette-webapi --type=-oop <dir>/
 - selects all test cases under <dir> and execute them only in
   in-process mode.
4) ./mach marionette-webapi <test>
 - execute <test> only in in-process mode.
5) ./mach marionette-webapi --type=+oop <test>
 - execute <test> only in oop mode.
6) ./mach marionette-webapi --type=-oop <test>
 - execute <test> only in in-process mode.
7) ./mach marionette-webapi <dir>/manifest.ini
 - selects all active test cases listed in <dir>/manifest.ini and
   execute them in the mode(s) according to the manifest.
8) ./mach marionette-webapi --type=+oop <dir>/manifest.ini
 - selects all active, oop={true,both} test cases listed in
   <dir>/manifest.ini and execute them only in oop mode.
9) ./mach marionette-webapi --type=-oop <dir>/manifest.ini
 - selects all active, oop={false,both} test cases listed in
   <dir>/manifest.ini and execute them only in in-process mode.
Bug 970804 - 2/3: only launch test-container app when not available. r=mdas
Bug 970804 - 3/3: add test cases. r=mdas
debug