MakeTarget/Processor: Declare all Target references const

Just to emphasize that we don't change Target objects in the make phase.
Processor::_MakeTarget(): Don't execute pseudo target actions

Aligns behavior with that of Jam.
Processor: Make target preparation two pass

* MakeTarget:
  - Split fate and processing state. There's now a separate
    processingState property.
  - Add MAKE_IF_NEEDED fate. It is used in cases where we cannot decide
    the ultimate target fate in the first target preparation pass. If
    actually needed (decided in the second pass), the target should be
    made, otherwise it can be skipped.
  - Add originalTime property. Used for debug output purposes only.
* Processor:
  - Like jam also consider missing targets without actions but with
    dependencies pseudo targets.
  - Make use of MAKE_IF_NEEDED and add a second target preparation pass
    (_SealTargetFateRecursively()). This allows for more correct
decision
    making for pseudo targets and temporary targets. The latter aren't
    completely supported yet.
  - Improve (hopefully) make tree output a bit.
testdata/make/Update: Compatibility handling for test case 22

While Jam considers targets not marked NotFile that are missing,
don't have actions, and have dependencies pseudo targets, it doesn't do
so consequently. A target depending on such a target is still updated,
even when up-to-date. Ham doesn't do that. Strictly speaking it would be
better to fail in such a case, since it really is a user error not to
mark the target a pseudo target and probably just complicates trouble
shooting for them.
Processor: Consistently handle pseudo targets

Add method _IsPseudoTarget() with the logic to determine whether a
target is considered a pseudo target and use that everywhere where we
want to know that. In some cases we only checked for
Target::IsNotAFile().
Split testdata/make/Update

Move the pseudo target tests to new UpdatePseudoTarget.
Add testdata/make/UpdateTemporaryTarget

First test cases for temporary targets.