GeneralPoint Is Abstract

GeneralPoint is now abstract so that the generic creation logic can
be moved from Dimension to Point. This will allow us to remove
the parameter from Dimension in order to create a Dimension
heirarchy.
GeneralVector Is Abstract

GeneralVector is now abstract so that creation logic can
be moved from Dimension into Vector
Dimension Hierarchy Created

Dimension generic creation logic has been removed. A
hierachy now exists such that DN extends D(N-1). This
allows us to use generics 'extends' and 'super' to
specify 'higher dimension' or 'lower dimension' for
methods in addition to 'same dimension'
ND Points Can Be Shifted By (N-1)D Vectors

This is now possible because of the dimension hierarchy
Point Can Subtract Smaller Vector

This is possible using the Dimension hierarchy
Vector Can Add Vector Of Lower Dimension

This is made possible by the dimension hierarchy
Vector Can Subtract Small Dimension Vectors

Made possible by the dimension hierarchy
Updated Point Docs To Reflect Add/Sub

Need to be specific when saying <? super D> implies a
dimension equal to or smaller than D
Update Point/Vector components() Documentation

Explain that the returned list is not bound to the components
of the Point/Vector and that changes to the list will have no
effect on the object
Point/Vector Set

Create a new Point/Vector with one of the components changed