More clever splitting of closed ways 

When splitting a closed way, iD needs to choose a second node to split the way at.

Until now iD chooses to halve the way in terms of number of nodes. Sometimes this works OK, but here is something more intelligent:

This algorithm looks for a node that is both far away from the initial node in terms of way segment length and nearby in terms of beeline-distance. This assures that areas get split on the most "natural" points (independent of the number of nodes).

For example: bone-shaped areas get split across their waist-line, circles across the diameter.

I've also added `iD.geo.geo_dist` for (approximate) geographical distances measurements. The existing `iD.geo.dist` returns the euclidean distance, and should therefore not be used with lat/lng coordinates. The `iD.geo.geo_dist` metric on the other hand can be used for determining nearest nodes (in `operations.Delete`,
`actions.Circularize`) or relative length comparisons (`actions.Split`).