Modify face split to deal exclusively in halfedges

* accepts two halfedge indices as arguments, new edge between the start vertices
* returns the index one of the newly added halfedges (from->next infact)
* test updated
Move RemoveEdge to MergeFaces and simplify EdgeCollapse

* MergeFaces is now reverse of SplitFace
* chained together they leave mesh unchanged
* more checks in merge (no boundary- or multi-edges)
* EdgeCollapse modifed according to CGAL's vertex join (WIP, no unit test)
Improve face split/merge unit tests
Fix edge collapse and add test coverage

* forgot to update faces' first halfedges where necessary
* unit tests for both internal and boundary edge collapses
Update edge collapse operator

* don't allow if it would create a non-manifold vertex
* merge degenerate faces (< 2 sides)
* if merge not possible, we should probably remove the face (but this isn't implemented yet..)
Add face removal to complete edge collapse (plus tests)

* add ability to remove faces (with test)
* add missing face removal to edge collapse (now handles adjacent triangular face which can't be merged)
* new edge collapse test for triangular faces
* in halfedge list, make add pair method internal (it doesn't maintain validity)
* add ability to remove pair of halfedges (not public either)
* add easy way of checking if edge is boundary
Added stellate method

added PlanktonVertex from PlanktonXYZ
fixed a typo in 1 comment