Adds atproto.EntityRecord[M] + GetEntityRecord[M] and retires the near-identical BeanRecord/RoasterRecord/GrinderRecord/BrewerRecord/ RecipeRecord structs. The five codec-backed Get*RecordByRKey methods are now one-line wrappers. GetBrewRecordByRKey keeps its bespoke ref resolution but returns the shared wrapper type. Caller-side .Bean/ .Roaster/etc. field accesses become .Model. Net 73 LOC removed.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com