Remove the MultiMap::remove() method.

This conflicts with a new method introduced in Java8, with different semantics.
Switch to using ordered maps / sets.

This improves testability when the hashing algorithm changes (e.g. JDK8).
Merge pull request #607 from bradh/jdk8

Fix JDK8 build