Refactor SwaggerClient to make it immutable, and allow users to create a client from a resource listing.