Bug 784841 - Part 1: Create generic container classes; r=jhammel

We create some specialized dicts that will be used in later patches.
Bug 784841 - Part 2: Implement sandboxing for Python build files; r=ted,glandium

This is the beginning of Mozilla's new build system.

In this patch, we have a Python sandbox tailored for execution
of Python scripts which will define the build system. We also have a
build reader that traverses a linked set of scripts.

More details are available in the thorough README.rst files as part of
this patch.
* * *
Bug 784841 - Part 2b: Option to not descend into child moz.build files; r=ted
Bug 784841 - Part 3: Implement sandbox to data translation layer; r=ted,glandium

This patch takes MozbuildSandbox instances emitted from BuildReader and
converts them to data structures.
Bug 784841 - Part 4: Use os.path.relpath in ConfigStatus.py; r=glandium

We now require Python 2.7 and os.path.relpath is always available.
Bug 784841 - Part 5: Integrate virtualenv into SpiderMonkey configure; r=glandium

Python and virtualenv logic is now contained within an m4 file.
SpiderMonkey now requires the mozilla-central virtualenv environment to
build. If SpiderMonkey configure is invoked by mozilla-central's
configure, the virtualenv will be reused. If SpiderMonkey configure is
invoked in isolation, it will search for the virtualenv in the
mozilla-central root.
Merge mozilla-central into build-system
Merge mozilla-central into build-system