Rebind returns target when the source returns itself (i.e. chain rebound)
Ignore arguments length.  Return target if and only if the returned value is the source.
Fix d3.geo.interpolate for coincident points.

This also improves accuracy for small distances, using the haversine
distance formula instead of the law of cosines.

Fixes #1080.
Fix closed rings generated by clipping.

After intersecting a polygon with a clip region, it's possible for one
or more of the resulting visible segments to be a closed ring.  This
occurs when the first and last points in a segment are coincident (or
close enough to be coincident).

If the clipping algorithm attempts to rejoin these segments, first it
orders intersection points along the clip edge, and the subsequent
interpolation direction depends on this order.  However, the order of
coincident points is ambiguous, hence “flickering” may occur if the
order of two coincident swaps around, causing interpolation to alternate
between taking the longer and shorter ways around the clip edge.
Merge branch 'rebind_chain' of git://github.com/ZJONSSON/d3 into 3.0.7
Fix tests for d3.rebind.
Merge branch 'geo-clip' of git://github.com/jasondavies/d3 into 3.0.7
Merge branch '3.0.7'