SE-0295: Codable synthesis for enums with associated values

I posted a pitch that would more clearly tie tuple codability to enums-with-associated-types codability here: New {De,En}codingContainer types to support enums with associated types (and tuples) - #4 by rpsm (Sorry if this branches the discussion, I didn't realize that this was still in review).

Basically the idea is to reveal the full structure of tuples and enums to the coding infrastructure via two new container types. I feel that this is a more flexible approach and could resolve some of the disagreements about details of how associated values are encoded and decoded because it would allow us to specify the behavior on the coder, instead of defining it language-wide.