Arbitrary transverse projections.

Fixes #1157.
Add d3.random.bates; fix d3.random.irwinHall.

Fixes #1647. What was previously classified as an Irwin–Hall distribution was in
fact a Bates distribution. The irwinHall implementation is fixed, and a new
bates implementation is added.
Cleaner transverse projection. Fixes tests.
Inline transverse mercator implementation.

Since there are no immediate plans to expose generic transverse projections,
it’s slightly faster and more concise to inline this implementation.
Fix #1664 - empty classed string.

The regex used for split was returning [""] for the input "", rather than [].
Merge branch 'bates' into 3.3.12
Merge branch 'fix-classed' into 3.3.12
Merge branch 'transverse' into 3.3.12
Merge branch '3.3.12'