Basic Vector framework

Added:

1. Vector core - Vector, VectorAdd, VectorMul, BaseVector
2. BaseScalar
3. Del
4. CoordSysRect
5. Point
6. functions.py - express, matrix_to_vector 
I like this, but why do we choose to return the unit vectors as oppose to the scalars? I was wondering if something like:

```python
c = CoordSys(...)
c.u[0] # the x unit vector
c.s[0] # the x scalar
c.u.x # the x unit vector
c.u.i # the x unit vector
```