Cleanup for 0.3 release

This release covers everything we've done so far before we start making
some bigger changes.

I also changed the author information to me representing that Dave has
passed the torch for project maintenance to me.

Also included some of jezdez's changes to project scaffolding files. Thank
you!
Update author and author_email

This is more correct.
Overhaul docs

This adds contributor docs and cleans up some of the elasticutils
usage docs, too. It adds a lot of examples and expands on the existing
text.

This also adds a requirements-dev.txt which makes it a little easier
to install for hacking.

Still a lot of docs-work to do, but I think this is a nice first pass.
More query doc work

Ricky asked what the elasticsearch JSON looks like if you have filters
and queries in it. I thought about that and decided to add more to the
overview section so that there's a big example coupled with what it
equates to in curl and then the rest of the document talks about
individual pieces.

I also added a separate section about S.
Nix About ElasticUtils header

It's redundant and takes up a bunch of vertical space which means the
text is further down the page than it should be.
Add link to elasticsearch-paramedic
32. Raise error for bad field actions

Fixes #32.
Document InvalidFieldActionError
Tweak F so that it allows for F()

This is something I implemented in the sumo branch to allow for an empty
F. It makes it a lot easier to start with an F and add filters depending
on what the user requested and also handle the case where there are
no filters.

e.g.

    f = F()
    f = f | F(tag='awesome')

Prior to this change, that would result in:

    {"or_": [{}, {"tag": "awesome"}]}

which makes ES grumpy and for good reason.
Match requirements to setup.py
Issue 39. Clean up test code

* move the test code under elasticutils/
* split up tests into a couple of files
* create an ElasticTestCsae that skips tests if ElasticSearch isn't
  running
* changes the existing elasticutils/tests.py to djangolib.py---this
  is the start of the Django shim
* update documentation

The result of all this is that now you can run tests by:

    DJANGO_SETTINGS_MODULE=es_settings nosetests
Update changelog and add it to docs
Issue 41. Move django bits to contrib

This reworks the codebase so that it doesn't require Django. There
are some API breaking things here, but hopefully the changes required
for users will be minimal.
Fix requirements files
Fix tests so they run without Django
Fix results; allow for untyped S; moar tests

* changes "values" to "values_list" which is better
* allows for untyped S, so you can do S() and get dict results
* fixes edge cases with specifying fields (from SUMO branch)
* adds a bunch of tests results-related functionality (most of
  the tests come from SUMO branch)
* require type_ for elasticutils.contrib.django.S
Update docs

* updates and clarifies a bunch of bits in the documentation.
* updates the documentation in respects to typed S and untyped S
  and search results and all that.
* went through and tested the facet code. This updates the facet
  documentation.
* PEP-257 fixes
Update MANIFEST

Needed to update the requirements lines in MANIFEST. I changed it
so that we shouldn't have to update it again even if we add more
to it.
Fix list results

If there was only one item in self.fields, then you'd end up with
a flat list of things instead of a list of tuples. We want that
to be consistent, though, so if we know we're in that situation, we
fix it accordingly.

This is a little awkward if you really want a flat list. Maybe we
should make that easier in the future.
Add note about single field and values_list