Bug 934864 - Add option to make INSTALL_TARGETS and PP_TARGETS keep the original path when copying/preprocessing. r=gps

Also, refactored them for more debuggability and clarity.
Bug 934864 - Add REPORT_BUILD do INSTALL_TARGETS and PP_TARGETS. r=gps
Bug 935305 - Move preprocessor to mozbuild.action. r=gps

--HG--
rename : config/Preprocessor.py => python/mozbuild/mozbuild/preprocessor.py
rename : config/tests/unit-Expression.py => python/mozbuild/mozbuild/test/test_expression.py
rename : config/tests/unit-LineEndings.py => python/mozbuild/mozbuild/test/test_line_endings.py
rename : config/tests/unit-Preprocessor.py => python/mozbuild/mozbuild/test/test_preprocessor.py
Bug 935305 - Track preprocessor output dependencies. r=gps
Bug 935870 - Raise an exception when an emitted object is not acknowledged by the build backend. r=gps