Is null the best we can return if the key isn't present? How does that fit for cases like: `if map[k].contains(v)` or `map[k].length`? Can we return a MultimapCollection that returns sensible values for isEmpty, contains(), map(), etc., but creates and adds the appropriate collection if it's modified? Or should the return value be unmodifiable, and mutations have to happen via the Multimap?