(WIP) 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 
So how do Matrices work with diff:

```
In [4]: m = Matrix([f(t), g(t)])

In [5]: diff(m)
Out[5]: 
d         
──⎛⎡f(t)⎤⎞
dt⎜⎢    ⎥⎟
  ⎝⎣g(t)⎦⎠

In [6]: m.diff()
Out[6]: 
⎡d       ⎤
⎢──(f(t))⎥
⎢dt      ⎥
⎢        ⎥
⎢d       ⎥
⎢──(g(t))⎥
⎣dt      ⎦
```

Sorta odd behavior.