Insert new class ProcessedSourceTarget between Target and ObjectTarget

ProcessedSourceTarget will be used as base by ObjectTarget (existing) as
well as CxxPreprocessedTarget (incoming) and CxxTranslatedTarget
(tentative – to be used for sources to be translated to assembly
language).
Detect changes to input AND output files for targets