* Add read/write streaming payload/result methods to interceptor DSL
* Weave streaming interceptor stuff through codegen
* Do not try to use a field from an interface for the raw payload when wrapping streaming methods
* Fix golden files
* Collect attributes from a method that actually has the interceptor applied; import the correct user types packages when rendering service_interceptors.go; fix an ancient typo
* Fix StreamingResult accessor signature and return
* Add SendWithContext and RecvWithContext methods to the stream interface generation
* Progress on wrapping streams with interceptors
* Finish generating the stream wrapping for interceptors; remove the Endpoint field from goa.InterceptorInfo struct since it is redundant with the next goa.Endpoint parameter sent to interceptors
* Progress on adding comments and fixing tests; fix a bug where refs were defs
* Finish fixing tests
* Add more tests for streaming interceptor service codegen
* Fix bug where the CLI ParseEndpoint method would try to wrap every method with interceptors even if they do not apply
* Update InterceptorInfo comment and replace Send and Recv boolean fields with a CallType enum; organize interceptor wrappers file sections as types, functions, then methods
* Update Golden files to make the Interceptor tests happy
* Add a ReturnContext field to goa.InterceptorInfo to allow interceptors to modify the context returned by SendWithContext/RecvWithContext even after calling next
* Scrap ReturnContext field in favor of changing the interceptor interface to return a context itself
* Update Golden files to make the Interceptor tests happy again
* Change goa.InterceptorInfo to an interface that generated interceptor info structs implement
* Separate StreamingPayload and StreamingResult methods to Client and Server variations
* Use goa.Endpoint for next again and do not return contexts from SendWithContext/ReceiveWithContext
* Address lint issues
* Fix lint issue
---------
Co-authored-by: Raphael Simon <[email protected]>