Guarantee oriented simplices for 2D delaunay

This commit updates the existing Delaunay code in order to ensure
that 2D triangulations maintain a consistent ordering. This
is similar to specifying the 'i' flag in QHull. This brings
the behaviour inline with Matlab, and is the most sensible output
for 2D triangulations.

The reorientation is achieved by masking those values that are
not correctly oriented and then swapping the first and second
columns.

This is in response to #2953.