Bug 638219 - Move command construction into Test class method; r=terrence

--HG--
rename : toolkit/modules/Timer.jsm => browser/devtools/shared/Browser.jsm
rename : toolkit/modules/tests/xpcshell/test_timer.js => browser/devtools/shared/test/browser_browser_basic.js
extra : rebase_source : 4a02112413b31457cf855d68a6db6d816172652f
Bug 638219 - Extract valgrind setup, prepend in Test.command(); r=terrence

--HG--
extra : rebase_source : dc17ae04127892f4d5778e5d546d8fba4436766f
Bug 638219 - Save static paths in module-level constants; r=terrence

These paths are a little far away from the script they're referenced in, so
it's a little fragile. However, since (a) these aren't expected to change
that often, and (b) the code should fail conspicuously if there is a change,
I don't think it's a problem.

--HG--
extra : rebase_source : 2e2d278826d4d30c813156553590c24d9056575f
Bug 638219 - Use TestOutput class to wrap test results; r=terrence

--HG--
extra : rebase_source : 446d5f86d11c4d41fc771dde2b6357f6fff63175
Bug 638219 - Reuse cmd saved in results object rather than rebuilding it; r=terrence

--HG--
extra : rebase_source : 4b955e7793c966db184f67cc1a90ab8c24bbfcd7
Bug 638219 - Move test result output into result processing function; r=terrence

--HG--
extra : rebase_source : c72b28460c2e4b52aa3e4bfa903d5ee1563c1e39
Bug 638219 - Set all test-independent command-line bits up once, pass in; r=terrence

This will help integration with the jstests framework, which also uses
a single prefix argument to its Test command construction method.

Note that the order of js arguments is changed, from:

    cmd = [js] + list(set(self.jitflags)) + shell_args + ['-e', expr]
    cmd += ['-f', os.path.join(LIB_DIR, 'prolog.js'), '-f', self.path]

to:

    prefix = [os.path.abspath(args[0])] + shlex.split(options.shell_args)
    prefix += ['-f', os.path.join(jittests.LIB_DIR, 'prolog.js')]
    cmd = prefix + list(set(self.jitflags)) + ['-e', expr, '-f', self.path]

The assumption here is that only the order of -f options matters.

--HG--
extra : rebase_source : 9655d6efc62006aa840d72f6b31d764bd870cc7d