Work around exact float comparison bug in ligo-skymap-contour
We were using exact floating point comparison to map out the faces and vertices of HEALPix pixels. When a vertex that is shared between two faces had slightly different floating-point coordinate representations in different faces, contours were lost. In the new approach, we identify vertices by the set of faces that share them. Also, the `ligo-skymap-contour` tool got 10x faster thanks to an optimization that allows us to skip most pixels that are on the interior or exterior of the contour.