Move entity-specific utilities into entity/util.dart
Explicit TypeRegistry to allow clients control which types to include in the tree-shaken output (prior to this commit everything was included). This also allows clients to include types whose kind is not described in the discovery doc.