Yaocho APIs

This adds a few APIs that were useful for Yaocho. These need to get to prod before I can put Yaocho in the marketplace.

r?
I'm pretty sure I complained about us not versioning our api before. I think we should be pushing to create more APIs and making them public to make it easier for contributors and others to build their own tools. Given that, we really should be making the version number explicit in the API. If we're not pushing for that, then it probably doesn't matter.