Setting 'outputs_invalid_' more agressively

In addition to the previously covered cases,
outputs_invalid_ is also set if any edge input is newer than output,
as this always requires edge rebuild regardless of any 'restat' cleanups.
Removing unused restat timestamp dependency on depfile mtime

'restat_mtime' is used to verify if the edge was rebuilt
after the 'newest' of the immediate inputs (see RecomputeOutputDirty()).

Since depfile timestamp is not considered in RecomputeOutputDirty(),
there is no real need to consider it when calculating the 'newest input' mtime.