New {De,En}codingContainer types to support enums with associated types (and tuples)

This is unfortunate, as it is actually quite a common scenario. I've got a project where associated values are extremely useful, but the entire model has to be codable. I've implemented the protocol and, yes, it's not difficult, but it's a lot of useless boilerplate code. My concern is that when this is finally adopted, it will be incompatible with my implementation and I'll have to handle migration.