A previous patch in the series blindly uses ACTION_KEEP if the file is not
present on both remote and ancestor. This was wrong.
We tries to detect directory renames and in some graft cases, it can be possible
that file is not present on both sides but is created in rename destination of
other directory which exists on remote. In such cases, we need to merge the
rename source from remote with rename dest from local.
This patch makes sure we checks for such rename cases before falling back to
ACTION_KEEP.
Action for rename destination can be added while processing rename destination
or processing rename source. In some cases, when an optimization only diffing
files changes between m2-vs-ma are in play, either of rename dest or rename
source might not be processed.
Hence we need to be extra sure about adding action related to rename
destination.
This issue of missing to check dir rename dest was spotted by a future change
where some tests were failing.