API: Add all UI visible models, add API docs, and restructure the API implementation.

This PR is basically #309 on steroids. It adds advanced API filtering, implements endpoints for every UI visible model including keyvalues, totally changes how the API implementation is organized, groups the endpoints by `core`, `dns`, and `dhcp`, and basically makes the API a lot better.