Merge pull request #29 from drawks/0.9.x

Stop log spam, clean up some more formatting.
improve CH routing performance when replfactor=1
Merge pull request #32 from slackhappy/upstream2
add description of aggregated-consistent-hashing
Merge pull request #33 from egnyte/master

Allow setting a custom umask
More cleanup
Merge branch '0.9.x' of github.com:graphite-project/carbon into 0.9.x
Merge pull request #50 from jdanbrown/write-back-frequency

carbon.conf: Add [aggregator] WRITE_BACK_FREQUENCY
Merge pull request #40 from drawks/0.9.x

Refactor cache to not require locks
Add different write ordering behaviors
Use token buckets for write rate limiting
Add FORWARD_ALL parameter to aggregator
Refactor hashing for clarity
Re-merge lost commit

improve CH routing performance when replfactor=1

Re-merge due to loss in a big merge commit
Fix relay's per-destination instrumentation
use global event handlers properly in client.py
Treat MAX_CREATES_PER_MINUTE as a float.

The MAX value is an integer, but was being divided by 60, and so
was producing an integer result.  Therefore, if MAX was < 60,
the result is 0 and no new metrics are created after the initial
MAX is hit.  If MAX is >= 60, new metrics will be created, though
not at exactly the rate that would be expected.

The TokenBucket expects floating point values, so force the
division to be floating point.

Fixes issue #55.
Merge pull request #56 from jeblair/0.9.x

Treat MAX_CREATES_PER_MINUTE as a float.
Remove a bit of unnecessary code
Add carbon.exceptions

For now, this only contains CarbonConfigException, but we can add
more later down the road depending on what types of failure conditions
we want to gracefully handle and report. I see a lot of ceres related
potential here.
Update carbon.conf and it's unit tests for the new exception

Also silence an annoying DeprecationWarning when running the tests
Update daemons to use new exceptions and gracefully print them
Updating test to not use deprecated e.message
Update lib/carbon/aggregator/buffers.py

Closing MetricBuffers after all interval buffers are outside the age threshold.