Remove RemoveIf, RemoveDuplicates and Grow

It has always bothered me that I have two versions for removing items
(Overwrite* and Remove*) but I only have one version of MakeSet. This
seems really inconsistent to me. I removed the RemoveIf and
RemoveDuplicates methods and renamed OverwriteIf and
OverwriteDuplicates. This means that the only methods that actually
modify the underlying list are the Add* methods and RemoveRange.

I also realize that Grow can be implemented in terms of Add. The only
difference is that Grow said "get this big" and Add says "Add these
items". Grow "can be" implemented in terms of Add, so I removed it. If
you were using Grow, try combining LINQ's Range or Repeat operations
with the Add accepting an IEnumerable.