Add OneDimensional class to Data.VectorSpace

This is a rework of #4.

I often use classes from ```vector-space``` to deal with types that are almost ```Num```, but not really, due to the lack of multiplication. They are often a one-dimensional vector space over Double, and division between them is very useful.

As for the operator name, I think ```(^/^)``` is a reasonable choice given that ```(^/^v)``` is the inverse of ```(*^v)``` for all non-zero vector ```v```.