Bring master up to speed with 0.9.x

Hot on the heels of https://github.com/graphite-project/carbon/issues/312 is this PR which re-integrates 0.9.x into master. There were a few merge conflicts, but far less than I'd feared.

It would rock if someone else could take this branch and test it out some more. My initial tests (start a few caches, write data, verify data) all pass, but are rather simplistic.
@jssjr great!