Make anonymous types in config type system have stable keys
This has been a long-standing technical liability that IMO
become intolerable with the upcoming work to persist the type system
metadata in a database. Instead of just assigning an incremental
counter to Dicts, Selectors, etc to assign key names (so that we
can do things like have the config editor work) instead this
assigns the key based on the fields passed into types.
Critically this makes it so that import order will no longer alter
Test Plan: BK and run dagit.
Reviewers: max, alangenfeld, natekupp, bengotow
Reviewed By: alangenfeld
Differential Revision: https://dagster.phacility.com/D1458