Generic uniq

Depends on adding typings for D3.Set and D3.Map, should merge after that