Fix handling of ambiguous cell types

The lookup table based on CW and CCW tracing of contour lines had
problems handling cases when there are multiple lines per cell.  In this
new approach, each cell is associated with at most two crossings.  The
crossings capture how the contours intersect the edges of the cell (e.g.
a NW crossing means that a contour line connects the north and west
edges of the cell).  If we know which edge a contour line enters a cell
from, we can find out the edge that it leaves through.  The contour line
is constructed by following these crossings.
Remove implementation specific tests
Add some comments explaining the new approach
Add a saddle-point case to tests
Merge pull request #14 from tlycken/dd/fix_saddle_point_issue

RFC: Fix handling of ambiguous cell types (fixes #12)