Lots of changes that should have committed

scio14 kept me busy, so I missed a lot of commits.

-Added midpoint to edge
-Modified vectorIntersect in tri
-Changed several list outputs meant to be immutable into tuples.
-Added a check for tri.planeIntersect to ensure the tri and its edges
aren't in plane. Previous method could cause issues with 0 length edges
-Made tri.planeIntersect actually ensure intersects were within the
triangle (oops)
-Rewrote tri.tesselate to connect the midpoints of the sides instead of
the vertices with the centroid. Centroid method didn;t actually break up
original edges.
-Made plane.vectorIntersect output a uniform output format
-Added edgeIntersect to plane
-Got rid of essentially duplicate function in display
-Added some list builder notation to pointPlot
-Commented out bounding box check in mesh.contains
-Updated path.straighten without any significant functional changes.
Currently has some debug stuff in it.
-Added some comments to section class, some tolerances to sp.allclose
conditions
-Added an exit to the while loop in order
-Replaced up with u to indicate it's a general scalar in
surface.[type]Shift methods