Get ye service list from stagecraft

This implements getting the services list from stagecraft (generating and returning this is work that is yet to be done). It also represents a significant factoring out of common api client logic and quite large test changes.

Notes:

- It is slower, seemingly adding about 300ms to request doing very basic local test. This will be better when stagecraft actually responds but it's problematic for now.
- Should we think about a switch to turn of the stagecraft request for local testing?

I have also made a couple of line comments to draw attention to issues I wasn't sure how to resolve. See below.
There's a bit of inconsistency here which is preventing this from working.

New in Stagecraft:

```
[
  {"slug": "foo"},
  ...
]
```

Spotlight's `dashboards.json` file:

```
{
  "items": [
    {"slug": "foo"}
  ]
}
```