Patch Set 2:

I have some assumptions here which I would like to have proven:
- HistogramDiff will always produce the same results as a PatienceDiff as long as the PatienceDiff always find uniqe lines.
- A PatienceDiff algorithm which fallbacks to HistogramDiff when he finds no uniqe lines produces excactly the same result as if you would use only HistogramDiff
- To some extend PatienceDiff is only a special case of the HistogramDiff. The reason why we don't work always only with Histogramm diff is the better performance of Patience diff.

All that correct?

Now we have a fallback algorithm which works with O(N^2) and there is still MyersDiff working with O(ND). I guess the reason why we don't have MyersDiff as last option (the third algorithm in the fallback chain) are the following two reasons:
- real world tests show that it is with the expected size of sources not worth the effort. Doesn't really bring performance benefits in the real world.
- we can't decide easily in HistogramDiff when to switch to our fallback

Did I guess right?