Multimap: Return an empty collection for unmapped keys

Updated `Multimap` (ListMultimap and SetMultimap) to return an empty Iterable when fetching unmapped keys. The returned Iterable remains consistent with the underlying multimap. This is the case whether the iterable is fetched directly from the Multimap or via the Map view returned by `toMap()`:
```dart
ListMultimap mmap = new ListMultimap();

// Additions to map, map view reflected in returned Iterable
List values = mmap[k1];  // values == [],       map.containsKey(k1) == false
mmap.add(k1, v1);        // values == [v1],     map.containsKey(k1) == true
mmap.toMap[k1].add(v2);  // values == [v1,v2],  map.containsKey(k1) == true

// Additions to returned Iterables reflected in map, map view
values = map[k2];        // map[k2] == [],       map.containsKey(k2) == false
values.add(v1);          // map[k2] == [v1],     map.containsKey(k2) == true
mmap.toMap[k2].add(v2);  // map[k2] == [v1, v2], map.containsKey(k2) == true
```