adding step-middle as interpolation method
change step-middle to just step
cleaner formatting for step interpolation method
Add brush.clamp method to specify to clamp extent to range or not
Make clamp implementation more similar to extent
Don't consider dragging when determining to clamp or not
Add scale.quantize.invert
Rename quantize.invert to quantize.invertExtent
Use d3_Map instead of scale.ordinal in scale.quantize.invertExtent
Add test for scale.quantize.invertExtent
Implement scale.quantize.invertExtent with Array.indexOf
Add test for scale.quantize.invertExtent: arbitrary range values
scale.quantize.invertExtent returns null when y is not in the range
Add test for scale.quantize.invertExtent: out-of-range values and duplicate values in the range
Add quadtree.extent. Fixes #1207.
Add {cluster,tree}.nodeSize. Fixes #317.
Allow call() to be called on selections following enter()
Expose access to request.responseType in xhr

Also, don't always prefer XDomainRequest in a cross domain request.

This allows the caller to specify the response value type where available,
such as blob or json, which can greatly accelerate dealing with certain
types of data.

A cursory search suggests that IE's XDomainRequest does not use responseType,
so the caller will need to check the resulting type if a specific
responseType is required for a cross domain request.

IE's XDomainRequest also doesn't appear to have many other aspects available
in XMLHttpRequest, such as responseXML, currently used in d3.xml.

So a feature test is done on XMLHttpRequest to see if it supports CORS,
rather than always preferring IE's XDomainRequest where a cross domain
request is needed.
Initialize points array when using custom x() or y() functions
Pre-allocate points array