Modified instantiation of objects so there is one unified Factory class for Variable objects, rather than having the createXXX thrown into multiple interfaces.  Also made Variable an (empty) base class for all Scalar, Vector, Solenoid and Tensor objects.
Finally replaced IMHD with Proteus in all the lisence information etc