Add IsEqual and RemoveIf to container/set

Awesome libraries :+1: 
This seems unsafe (We're iterating over map while mutating the it at the same time).  It's probably better to collect which items are removable, then remove them

```
toRemove := make([]interface{})
for _, item := s.data {
    if f(item) {
        toRemove = append(toRemove, item)
    }
}

for _, item := range toRemove {
    s.Remove(item)
}
````