Generalize Set.add function.

Set.add functions now can take a specific v2s function as
an arugment. This allows for more flexability when working
in spaces that are not so abstract.

Added a v2s function for VectorSpaces and changed the
VectorSpace.add function to reflect these changes.