DataBasedTestParser::Parse(): Reset file age for new input file
Add make/Update tests

Simple test cases to test the update logic.
Jambase.cpp: Declare pseudo target "all" to simplify testing
TestFixture::CodeExecutor: Always set the file time

This makes sure all files have a well-defined time.
Processor::_CollectMakableTargets(): Don't count pseudo targets
Processor::BuildTargets(): Fix handling of pseudo targets

_MakeTarget() returns a NULL TargetBuildInfo for pseudo targets without
actions. We can simply skip those.
DataBasedTest: Extend #!file directive and add #!error directive

* The #!file directive in the output section can have a second argument
  "missing", now. If specified the file is expected to be missing.
  DataBasedTest checks that.
* Replace the #!earlyExit directive by the new #!error directive. It can
  have a parameter -- "evaluation", "bind", or "make" -- to specify the
  stage of the error.
TestFixture: Small style cleanup, add TODO comment
testdata/make/Update: Add tests with pseudo and missing targets
testdata/make/Update: Fix LOCATE on pseudo/missing targets

* Don't set LOCATE on pseudo targets.
* Set LOCATE on missing and not makable targets.
testdata/make/Update: Test actions for pseudo targets

I.e. verify they are not executed.