Bug 1085620 part3: Add emulator build task.

The "mach ci-build" has a new optional argument called b2g-config. This
allows the user to pass the b2g config directory for the target. This
argument is necessary for emulator and phone builds.
Bug 1085620 part4: Support debug builds.

Phone and emualtor builds depends on the environment variable B2G_DEBUG
for debug builds.

mach ci-build now has the --debug option to enable debug builds.
Bug 1085620 part5: Support emulator builds in trygraph.

Emulator tasks have some additional parameters not found in other
tasks. Therefore, builds can have an 'additional-parameters' field in
which specific task template replacements can be passed to trygraph.
This field is optional.

Moreover, the syntax for job_flags.yml builds was changed a bit.
Now, instead of:

builds:
  <platform>:
    types:
      opt: <task>
      debug: <task>

The syntax is:

builds:
  <platform>:
    types:
      opt:
        task: <task>
        additional-parameters:
          <parameter 1>: <value>
          <parameter 2>: <value>
          ...
      debug:
        task: <task>
        additional-parameters:
          <parameter 1>: <value>
          <parameter 2>: <value>
          ...