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 
What do you think about making these methods public. Would the API be clearer and simpler if we did away with `.orient_new()`? There are only so many types of orientation methods. In addition to the ones we support now, I know of two others: Euler Parameters and Rodriguez parameters (there maybe some other less used ones). So that is 6 total. What if we had all of these as separate methods. Then you don't have all that silly input parsing, the doc string is simpler for each method, etc. Thoughts?