Issue 70. Fix date_histogram handling.

* add handling for date_histogram in facet_counts
* fix facet_counts to raise an exception rather than silently act
  dumb if it doesn't recognize the _type
Add note about caching/speed in filter vs. query
Tweak the filter caching text further.
Issue 74. Fix F operand mutations

Operations on F shouldn't mutate the operands. This fixes the code
so it does a deepcopy of the filters before doing things with them.
Add note about id and .index()
Add note about refreshing after indexing.
Fix es_required_or_50x decorator

This tweaks the es_required_or_50x decorator to handle other ElasticSearch
errors and also improves the documentation. It also allows for template
overrides and nixes the msg arguments--they seemed less flexible.

Note: These decorators have no tests in the test suite, yet.
Fix error from last commit

It's MaxRetryError--not MaxRetryException.
Update CHANGELOG
Add Giorgos to CONTRIBUTORS list
Update release date for 0.5; add TOC
Fix boosted text_phrase queries

text_phrase queries are really just text queries, so they require the
same value_key name. This fixes that and also writes a test for boosts
that runs through ES so we can verify it doesn't kick up a
SeachPhaseWhateverThingy.
Update hacking_howto about django reqs.
Fix v0.5/v0.6 issues in changelog
Issue 84. Fix get_indexes/get_doctypes silliness

All the S.get_indexes() returned a list of indexes except the one
in Django contrib which could return a basestring or a list of
indexes.

Ditto for S.get_doctypes().

This fixes that, adds docs, and adds tests.
Issue 85. Fix IndexMissingException.

Alleviate problems from a bug in pyes 0.15.
Fix stupid mistakes

* I had a bad import, so the Django tests were getting skipped--fixed
  that.
* Fixing that unearthed failing tests--fixed those.
Issue 90. Nix silly exception "handling"

The problem here is that it's logging as an error and then re-raising.
That's kind of irritating. It's better to just let it propagate back
to the application and let it do whatever it wants to do.

Amongst other things, this is less spammy with sentry.
Add run_tests.py to setup Django for testing.

This will set up the Django environment so the Django-specific tests can
run. If Django is not present, the setup will be skipped and the tests
will be run normally. The testsuite will skip any Django-specific tests
in this case. This simplifies running the full test suite.
Merge pull request #91 from mythmon/run-tests-helper

Add run_tests.py to setup Django for testing.