Add support for facet ranges

Charles Nagy has a fork that has nice support for facet ranges. I extended his fork to support date ranges in facets.

Because Nagy's fork has diverged so far from yours, I fast-forwarded to the latest version of master in your repository, then cherry picked the relevant commits from his repo and my repo. Therefore, this should merge cleanly!

It includes updated documentation, too. Please let me know if there's anything I should change before you will merge this.

Thanks,