Start updating the extensions Web API.

The new DB structure and features requires all new API resources. This
tears out some of the old stuff and starts writing the new resources.
A lot of the old code will be reused down the road but it was just
easier to start fresh like this and the old code can be pulled out of
the repo later.