Fix #1850 - multiple touchstart targets.
removing .js extension from the 'main' property
Don’t store temporary variables on tree nodes.

Rather than creating a temporary _tree hash on the tree nodes to store temporary
variables needed to compute the tree layout, the tree is wrapped. This
eliminates the risk of a namespace collision, and eliminates the need to
subsequently delete temporary variables. (They will be garbage collected.)
Non-recursive tree layout.
Non-recursive hierarchy layout.
Abbreviate internal variables.
Make scaling non-recursive.
Merge pull request #1873 from mserinjane/master

removing .js extension from the 'main' property
Add Finnish locale
Merge branch 'fix-multiple-zoom-touchstart' into 3.4.7
Merge branch 'non-recursive-tree' into 3.4.7
Merge branch '3.4.7'
Fix hierarchy.revalue.

Post-order traversal alone causes all parent values to be reset to zero
*after* accumulating child values.

An additional pre-order traversal resets all parent values to zero
first, and the post-order traversal can then accumulate child values in
their parents.

This only affects sticky treemaps.
Style tweak.
Merge branch 'fix-hierarchy-revalue'
Add spm support
Use Element.matches if available

Spec:
http://dom.spec.whatwg.org/#dom-element-matches

Support in Chromium:
https://code.google.com/p/chromium/issues/detail?id=326652
Support instanceof d3.{color,rgb,…}

This also makes it possible to create a subclass of d3.color outside of the core
library, which would then support automatic interpolation.
Revert "Remove workaround for WebKit bug 44083."

This reverts commit 2b148070553c9493cae01d4960d283ec5bdf957f.

Fixes #1903.
selection.classed: coerce name to string.

Fixes #1625.