Always expose D3 onto the environment global

With regards to #1689 adding AMD compatibility, it seemed odd to me that
D3 opt'd out of exposing itself globally for third-party plugins.

Within a discussion about this very problem, found here:
https://github.com/jakevdp/mpld3/issues/33#issuecomment-32101013

the argument is made that exposing the global defeats the point of
module systems.  I agree that module systems help avoid global
pollution, but that is not something I'd consider the point of module
systems, especially since they are registered in a global namespace
themselves.

This patch will fix third-party modules that are shimmed.
Fix #1933 - set zoom center on zoomstart.

Rather than set the zoom center on the first mousewheel following a mousemove,
we now set the zoom center on the first mousewheel event of a zoom gesture. This
is slightly simpler logic and avoids confusing behavior during constrained
momentum scrolling.
Merge branch 'fix-zoom-implicit-center' into 3.4.10
Merge branch 'expose-global' of github.com:tbranyen/d3 into 3.4.10
Merge branch '3.4.10'