Fixes infinite loop in EGraph.getRoots()

When the graph contains a containment loop, EGraph.getRoots()
ran infinitely. The method now uses
EcoreUtil.getRootContainer(EObject), which throws an
IllegalStateException in this case. The relevant change is in
EGraphImpl.
The other changes are tests to show that the bug is resolved.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=519013	
Change-Id: Ie9aca0b070f744c5500a295d599cf386943b3d16
Signed-off-by: Marco Konersmann <marco.konersmann@paluno.uni-due.de>
11 files changed