Determinants

I think this is what was intended by the trello card "implement determinants".

Not the most efficient algorithm, but most of our transformations are of low dimension and the cost of converting to a more efficient data structure seems to out weigh the benefits, fro example the following implementation is about 4X slower on 4 x 4 matrices when taking into account the time needed to convert to Data.Vectors. Additionally, something like an LU decomposition seems like overkill.
```
minorV ::  Int -> Int -> Vector (Vector a) -> Vector (Vector a)
minorV i j v = removeV j $ V.map (removeV i) v
  where removeV n = V.ifilter (\k _ -> n /= k)

detV :: Num a => Vector (Vector a) -> a
detV m
  | V.length m == 1 = V.head . V.head $ m
  | otherwise = sum [(-1)^i * (c1 ! i) * detV (minorV i 0 m) | i <- [0 .. (n-1)]]
      where
        c1 = V.head m
        n = V.length m
```

It is also possible that `matrixRep` or something like it can be used instead of the definitions of `onBasis` in the individual vector spaces, e.g. `R2`, `R3`.