Add vertex join/split and tidy up

* add vertex split (+ tests)
* add vertex merge (= edge collapse)
* tidy up vertex list
* add simple vertex boundary check for future use
* fix typo in halfedge boundary check