consul: break rpc forwarding and response ingestion out of internal endpoints