Add :view named parameter to KeySet.Set and KeyBag.Bag coercers

This is a test to see whether this makes sense or not: basically, whenever
we coerce a KeySet to a Set, or a KeyBag to a Bag, and the :view parameter
is specified, we create an object using the same underlying :elems hash.
This prevents wasteful copying e.g. inside the (&) and other operators.