Started to clean up vector.py

Main interface change - allowed for user to supply custom
coordinate/basis-vector names.
Changes to BaseScalar

BaseScalar was checking against Vectors, but Vectors have op-priority and thus
should be doing this.
Removed extraneous function in Vector

_vect_add just checked to see if both inputs were vectors, then called VectAdd.
VectAdd already does this upon creation.
Introduced BaseVector class.

Vector is now superclass for BaseVector, VectAdd, VectMul.
BaseVector inherits from symbol and Vector.
Code duplication could probably be further examined.
Things appear functional.
Rectified certain errors
Changed the implementation of many methods. Also, changed the separate method.

Changes to express method are now required.
Merge branch 'vector' into vector_temp

Conflicts:
	sympy/vector/vector.py

	Some restructuring has occured. Also, I've addded some more
	code at places to complement the code that was to be merged.