Explicitly use Endpoint in API where needed

There are a few locations where we are using the API DSL internally but
are not being explicit about the Endpoint class, which means that if
someone defines a completely custom Endpoint and it doesn't have, e.g.,
`#error!` defined, the app won't compile.

This commit mounts these endpoints using the Endpoint class.

We still need to come up with a simple, proper protocol for custom
Endpoint classes, but in the meantime, let's not be too prescriptive.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Merge pull request #61 from crepe/more-endpoint-decoupling

Explicitly use Endpoint in API where needed