Entity store refactoring (improve performance, etc)
Summary
Since the EntityStore will be the basis of pretty much everything, the performance should be good. This MR breaks useEntities up into smaller performant selectors/hooks which should reducer re-renders.
It also takes a schema
instead of a parser
now for validation, reducing boilerplate. Finally, I added tests for the reducer and made sure that error
ends up in the state on fail (!2345 (comment 1312224607))