Bug 1084006 - Allow hosts to specify their own CLI arguments

This is the first step in a pretty major overhaul of how hosts work this does away with all the terrible hacks we added so far to do exactly this. This also aims at removing the need for ./bin/gaia-marionette. The manifest functionality has been moved into its own binary (and can be used via some shell subs).
Why `apply`? Can't we just `argv.splice(2, 0, require('../lib/optsfileparser')(optsFile))`?