refactor Attribute2EntityReader (fixes #41)

make a better distinction between Attribute2EntityReader and Attribute2EntityReaderCast… the cast form is now used for everything except SchemaDEntityOps .apply and .get, which means that everywhere else requires a type annotation to specify the result type
rename Attribute2EntityReader as Attribute2EntityReaderInj

drives home the idea that this depends of the injective type function FromDatomicInj
remove unneeded type constraint <:!<

needless constraint to disallow EntityReader[DRef]
we can still get an IdView an entity, even if the entity reader reads a DRef from it
minor: remove unneeded uses of AddIdent.ref

ToDatomicCast can take care of this already
redesign: new traits for Tx Data identity

KeywordIdentified for AddIdent and Attribute: these are entities that are identified by keywords (although they have a :db/id as well as a :db/ident)
TempIdentified for AddFact and AddEntity: these are tx data that use possibly temporary ids
FinalIdentified for RetractFact and RetractEntity: these are tx data that use definitely final ids

this commit discover the bug reported in Issue #43
Merge pull request #42 from pellucidanalytics/topic/Attribute2EntityReader

Refactor Attribute2EntityReader (fixes #41) and the conversion implicits
and redesign the identity of transaction data