[MapEditor] Refactor class 'MapSelection' to hide implementation details

Refactored class 'MapSelection' in an effort to hide implementation details, e.g. the fact that a HashMap is used as an internal data structure.