Added functions to Vector3D to rotate vectors and points about an arbitrary axis. Added a function to Vector3D to determine the clockwise angle between two vectors around an arbitrary axis. Modified Arc3D to to handle complete circles. Modified Sector3D and Cylidrical3D to use the new Vector3D functions and Arc3D implementation.
Fixed the line intersection functions of Face3D so that they detect intersections on all three bounding lines of the triangle instead of only two.
Added more comments.
Fixed small typo in comment.
Modified sector so that it uses an Arc3D object as its outer arc instaed of its inner arc so that Sector3D objects can represent circles when dR = outerArc.radius(). This was necessary to prevent the inner arc's arithmatic from generating null vectors (vectors with zero length)