add IEntityMap marker protocol

It's useful to be able to differentiate entity maps from plain
maps. This patch uses `specify!` to mark the returned maps as entity
maps.
Align closer to Datomic schema, follow entity refs

:cardinality -> :db/cardinality and :many ->
:db.cardinality/many. Support :db/valueType :db.type/ref in the
schema. Change entity so that refs are followed. Update README and
tests.
Merge remote-tracking branch 'swannodette/master'
Fix failing test.