simplified DDReader/DDWriter variances
tidy and add to DatomicDataImplicits

added missing implicits for UUID, URI and Byte Array
make naming conventions consistent
add tests for DDReader and DDWriter
simplify Attribute2EntityReaderImplicits

code in the constructed Entity readers no longer uses _.as[T] or _.getAs[T], just direct casts
simplify set manipulation
removed DDWrites contravariance
remove Props.get and simplify DDWriter and Attribute2PartialEntityWriter implicits

we have no need to write data to anything more specific than DatomicData
Props is a heterogenous list but we only need to put things into it, not get them out
remove DInt and add DDWriter implicits for numeric types

any fixed sized integer type can be upcast to a Long, so we can write any of Byte, Chart, Short, Int, Long, as a DLong
partially revert "remove Props.get and simplify DDWriter and Attribute2PartialEntityWriter implicits"

This partially reverts commit 54c538aa0856d030e6a542dd645b2c105b875e26.
add numeric DDWriter tests

test Int, Short, Char, Byte conversions to DLong
Merge branch 'master' into features/variance

Pull in #34, which updates SchemaDEntityOps
remove DDReaders for Java BigInteger and BigDecimal

The mapping from DatomicData to Scala types needs to be a function, not a relation, so that the output type can be uniquely determined when reading an attributes value from an entity (using the schema)
As well as SchemaDEntityOps now working correctly, this also means we can simplify Datomic.fromDatomic
minor: rename type var in Attribute2PartialAddEntityWriter implicits

Dest gives the wrong intuition, as this is really the ‘Source’ type of the writer
expand DDReaderWriterSpec tests

the latter tests are intended to simply check that the implicits will correctly compile
Merge pull request #32 from pellucidanalytics/features/variance

simplified DDReader/DDWriter variances