Added Variance and Corrected Standard Deviation to core array functions.
renamed sd to deviation #1073
added exit criteria for variance that returns NaN on an empty array
refactored results with NaN array and empty arrays to fit the results of R
using an evaulation array for accessor functions and ignoring NaN, undefined and null
d3.shuffle a subset of an array and tests for d3.shuffle.

d3.shuffle takes two extra optional arguments that work on array
subsets: d3.shuffle(array[, i0[, i1]]). If given just array, then
shuffles entire array. If given array and i0, shuffles from index i0 to
the end of the array. If given array, i0, and i1, shuffles between i0
and i1. Tests for d3.shuffle also added.

See #1865.
passing f to d3.mean function call in the variance implementation
Add ordinal rangeRoundPoints. Fixes #1760.
Add quadtree.find.
Simplify quadtree.find and add test.
Minor optimisation for quadtree.find.

Reduces branching a bit more.
Save a few bytes.
Save a few more bytes.

The removal of `k = i & 3` also seems to produce a slight speedup in
Firefox 29.0.1 according to a microbenchmark.
Fix InvalidStateError for non-text local files.

Fixes a regression introduced when XDomainRequest support was added in
2eeb2057b2a058a15f9b4d155a4650dcab4ef070.  XDomainRequest only supports
request.responseText, not request.response, but XMLHttpRequest throws an
error if request.responseText is read for non-text response types.

A status code of 0 can mean either a local file was accessed, or there
was an error.  The response is checked to see if the error flag was set:

* In the case of request.responseType being "text" or "",
  request.responseText should be "".  Unfortunately it’s impossible to
  distinguish between an empty local text file and an error state, but
  wanting to load empty local files seems rare.
  XDomainRequest doesn’t have a responseType and it only has
  responseText, so we handle it here too.

* For other response types, request.response should be null.  At the
  moment, Safari 7.0.5 doesn’t respect this, e.g. the response will be a
  zero-length blob for the "blob" response type if the local file wasn’t
  found, but this seems to be fixed as of WebKit r171650.
Fix a few imports.
Replace substring with slice.

Slice is shorter and more intuitive: negative arguments are treated as
being relative to the end of the string, similar to arrays.

The only place it made sense to keep substring was in
d3_locale_numberFormat, where the first argument can be negative but
substring automatically treats this as zero.
Add german locale
Add french locale
Fix #1609 - add transition "interrupt" event.

This is necessary for transitions to perform any cleanup in the case they are
interrupted (superseded) by another transition or an explicit interrupt.
Fix for re-entrant zoom gestures.

There are several conditions where a zoom gesture can begin while a zoom gesture
is already in progress. For example, you can use the mousewheel after starting a
drag gesture, or you can start a zoom transition interrupting another that is
already in progress. The zoom behavior now tracks concurrent zoom gestures so
that a zoomstart is only triggered at the very beginning, and a zoomend is only
triggered at the very end.