We were querying the wrong EncReader along some paths that resulted in
failures depending on if one encountered an Attribute from an unloaded
dialect before encountering an operation from that dialect.
Also fix error where we were able to emit "custom" form for an attribute
without custom form in TestDialect.
I'm fine with introducing this method, but it seems like if this is the pattern to create a new DialectReader for a specific encoding buffer, we should be consistent and use it everywhere we're doing it.
That is there are a couple of other places like: