API changes for Yaocho.

These changes simply things on Yaocho a lot.

This would represent breaking changes in the API, so maybe I should change the API version, but I don't think this API is stable yet, so I don' think we need to bump the version.

r?
can this use the `documents_for()` thingy that tries ES instead? I guess that returns a dict...