Show real andpoints in the API Explorer

The explorer was generating endpoints based on each service's synclets, but
we don't quite have a 1:1 mapping of endpoints to synclets, so some were
wrong and would result in no data. For example, BodyMedia exposes `/sleep`
and `/steps`, though the synclets are named `sleep_day`, `sleep_year`, and
`steps_hour`.

I added `dMap.endpoints(service)`, which simply returns the keys of the
service's `defaults` object. If one isn't defined (not all services have a
`map.js`), we consider its endpoints only `['self']`.

This should keep the explorer more consistent with reality, and also
simplifies a good chunk of our resource discovery logic.

@jparkrr, review?