Added lazy maps

The actual map implementation is only created if an element is
inserted, otherwise it is not. This might be good if an implementation
creates a lot of empty maps which are never really used.