add timed collection interfaces, refactor collection names
refactor MultiValueMap to MultiValueBiMap
Use HashSetMap instead of MultiValueBiMap