Multimap: Return an empty collection for unmapped keys

Updated List/SetMultimap to return an empty Iterable when fetching unmapped keys. The empty iterable pushes updates and bi-directionally remains in sync with changes to the underlying multimap. This behaviour also applies to the Map view returned by toMap(). This also allows for the following:
Multimap map = new Multimap();
map[k1].add(v1);
map[k2].addAll([v1, v2, v3]);