Feature/json config models

This paves the way for us to finally provide discoverability client-side. After this is merged in, we should add endpoint listing functionality to our Scala and Java clients.

- Adds simplified models (without circular type dependencies) for the repository-bound / internal models that can be serialised and deserialised properly
- Adds methods for converting repository models to the above simplified models
- Adds JSON formats for the above
- Updates the endpoints-listing endpoint to use the above models and JSON formats to response. Update Swagger documentation according.