Improve point location

Hi Peter,

I cleaned up the PointLocation implementation - similar to my Java version:
* some test cases
* Edge implements IComparable
* EdgeComparer is no longer needed -> removed
* DoubleComparer is no longer needed -> removed
* Build is reorganized to remove and insert all edges at the given x, then take a snapshot
* EndPoint structure is no longer needed, due to the dictionary from x-coordinate to lists of to-be-inserted and to-be-removed edges

Cheers,

Hannes