[487595] Add specialized PapyrusTreeContentMergeViewer

If we are in the context of a Papyrus comparison, we are now using a
dedicated tree content merge viewer instead of the default one. This
dedicated content merge viewer shows the model tree according to how it
looks like in the model explorer of Papyrus. Therefore, it
 * filters all unrelated root elements
 * filters Diagram elements
 * uses Papyrus Content and Label Provider to display elements
 * registered for Papyrus types
 * uses a CompareAccessorFactory-Wrapper to "generate" the Papyrus types
 * as the content provider does not support directly revealing elements,
we cache the model tree and therefore have to traverse it once

Bug: 487595
Signed-off-by: Stefan Dirix <sdirix@eclipsesource.com>
Signed-off-by: Philip Langer <planger@eclipsesource.com>
Signed-off-by: Edgar Mueller <emueller@eclipsesource.com>
Also-by: Philip Langer <planger@eclipsesource.com>
Change-Id: Ibf27a6ac338f556e190891f572375f59eae94f2d
23 files changed