Fix typo
Change ElasticTestCase to ESTestCase

Seems to make sense to name it the same as the Django test case.
Create Indexable in core

* create Indexable in the core
* redoes the Django Indexable to only have the bits Django needs
* renames DjangoMappingType to MappingType
* adds a bunch of documentation
* adds new tests