TargetBuilder::NextFinishedBuildInfo(): Print error messages

... and remove the failed targets.
Processor: Fix target skipping on error, print diagnostics
Move data based tests from testdata/simple/ to testdata/
Rename DebugOptions to Options and move more stuff there

... and set the Options object on the Processors instead of the
individual options.
DataBasedTest[Parser]: Add output files and input file age

* DataBasedTestParser:
  - Rename "#!multipleJamfiles" directive to "#!multipleFiles".
  - Allow a seconds parameter to the "#!file" directive in the input
    section, the age of the file in seconds.
  - Allow "#!file" directives in the output section. They specify the
    files (and their content) expected after executing the Ham code.
* DataBasedTest/TemplateBasedTest/MultipleFilesDataBasedTest: Adjust to
  add the new features.
* TestFixture:
  - Add input file age map to ExecuteCode().
  - Make CodeExecutor public and move the ExecuteCode() logic into new
    CodeExecuter::Execute() methods.