tests: add test case for criss cross merge

The test do not fit in any existing test file...
tests: add systematic test of merge ancestor calculation

There is probably some overlap with the existing tests - it is hard to figure
out what these tests are doing.
largefiles: override calculateupdates instead of manifestmerge

That will give calculateupdates a purpose in life ... and be convenient later.

--HG--
extra : rebase_source : 4e8b700d8eaa5e625970116b8b2025c6a67f3b4b
merge: handle acceptremove of create+delete early in manifest merge

--HG--
extra : rebase_source : 303eea13b9be2f3127476e344886c60f1f97ae89
merge: handle create+delete prompts in calculateupdates

I would like to move it all the way to the interactive resolve state like
merges are ... but this is a first intermediate step.
copies: when both sides made the same copy, report it as a copy

Not used yet ... but shows up in debug output.
merge: use the right ancestor when both sides copied the same file

The tests shows no real changes because of this ... but there must be some
weird corner cases where using the right ancestor for the merge planning is
better than using the wrong one.
revset: added ordered generatorset classes with __contains__ method

They stop iterating as soon as they go past the value they are looking for,
so, for values not in the generator they return faster.
tests: fix unused imports from inotify removal caught by pyflakes