POST and GET documents by case type

* Schema loading
* Document storage
* Document search
* Elastic search integration

Apologies again for the bloated PR, we need to get our stories to be smaller and better defined before committing thousands of lines at a time.