Refactor proxied request

Refactored ProxiedRequest into ExternalRequest (for any request the Portal needs to make to a known external service) and ProxiedRequest (for when the results are being passed-through directly to a response from the Portal app).