Fixes #3214: Multimap get & remove should return correct collection type

Fixes https://github.com/hazelcast/hazelcast/issues/3214

- Currently multimap get & remove always return list type. With this fix, they should return correct collection type depending on the configuration of multimap's value collection type.
Why is this class abstract when it only contains static methods? 
Since it is a utility class, it is better to make the class final and create a private constructor. There is no added value in subclassing this class.