Automate d3.time.format locale generation.

This avoids having to include a large number of locales in the D3
repository, and also reduces the potential for typos when transcribing
locale mappings.
Add format-locale.js dependency to Makefile.
Simplify.
Improve handling of intermediate locale files.
d3.format: support locales.

Note: the previous commit broke some tests relating to locale date
parsing, due to expecting "%m/%d/%y". On my system, the "en_US" locale
uses "%m/%d/%Y" by default. I've updated the tests to use %Y.
Fix dangling globals.
d3.format: fix decimal points for null grouping.
d3.format: Always apply locale decimal point.

It should be applied even when no grouping is used. Thanks, @mbostock!
Simplify.
Add d3.geo.path.bounds.

This computes the bounding box for a given GeoJSON object using the
current projection.
Simplify d3.geo.bounds implementation.

Also, add rudimentary test.
Rename d3_path_circle for consistency.

I guess this may end up in d3.svg at some point, but consistency is
good!
d3.format: support align and non-decimal formats.

This also fixes a minor discrepancy with Python's implementation:
format("013,d")(-42000000) now returns "-0,042,000,000" instead of
"-042,000,000".
d3.format: support center-align.
d3.format: support negative zeroes.
Add "*/*" to Accept header.

This avoids a 406 error from servers that don't support a given mime
type.
Simplify a few arguments.length checks.
More flexible XHR framework.

This is backwards-compatible, yet adds numerous features to d3.xhr. You can now:

  * Use standard node-style callbacks (fixes #473).
  * Abort in-flight requests.
  * Listen for progress events.
  * Listen for load, error and abort events separately.
  * Make POST requests (or any other method), including data.
  * Set arbitrary request headers.
  * Have multiple listeners on requests.
Slightly shorter fix for send(undefined).
Merge branch 'xhr-accept' of https://github.com/jasondavies/d3 into xhr2

Conflicts:
	src/core/xhr.js