Test exponent notation format with fractionDigits argument specified.
Added linear scale tick format tests for non-fixed-point formats to demonstrate format precision bug.
Fix linear scale tick precision bug for non-fixed-point formats.
Minor optimisation for projection.precision(0).

When resampling is turned off, d3_geo_resample can return a special
transform that only performs projection of points to 2D, rather than
performing any additional computations such as conversion to 3D
coordinates for resampling.
Refactor to reduce closures.
Shared point-based stream transform.

Rather than use d3_geo_transform, parts of d3.geo that need a point-based
geometry stream transform now use d3_geo_transformPoint, which is slightly more
efficient. (This is the same as the d3_geo_streamTransform that was removed in
ac9f51fa534f12de7bb9487fb89edcb8edfa3951.)
Parse the format specifier passed to d3_scale_linearTickFormat.
Add a unit test case for it.
Refactor d3_scale_linearTickFormat to only compute precision when necessary.
Add unit test cases for % format.
Make d3_scale_linearTickFormat handle formats specifiers "r" and "p".
Merge branch 'master' of git://github.com/hlvoorhees/d3 into fix-tick-format-precision
Reformat code.
Prefer selectstart to user-select.

Rather than both setting the user-select to none and suppressing the selectstart
event, we now prefer to suppress the selectstart event if supported. This avoids
redundantly setting the user-select style, which can be slow. Fixes #1599.
Merge remote-tracking branch 'origin/fix-tick-format-precision' into 3.3.9
Merge remote-tracking branch 'origin/faster-select-suppression' into 3.3.9
Merge branch '3.3.9'