Changing the Graphs representation to guava MultiMap

The guava MultiMap simplifies all the methods which are focused around edges (even if it makes the getNodes method slightly more complicated, but this method might not even be really needed).

The change does fail one test, however one could argue about whether the behaviour discribed by this test is really wanted.
Unit test adapted to fit the new behaviour of floting nodes

The unit test "intersection_one_node_graph" was adapted such that it did not expect a floting node to be left behind.