No bug - Factor high-level interface to Preprocessor.py out of preprocess.py.
No bug - When preprocessing files, avoid writing unchanged files.

This trades memory (since output is buffered) to save disk
access (refreshes in Eclipse and recompiles in Maven).
No bug - Add tools/first_run.py for initializing Eclipse project directories.

In future, this could:
* check out submodules;
* install them in Maven;
* configure Eclipse further;
* optionally download and re-package Fennec.
* sanity check the Java environment (specifically, check that the
  installed JCE (crypto) policy is not export-restricted).
No bug - Add tools/first_run.py for initializing Eclipse project directories. r=rnewman