minor: pull out keyword constants for db function map
refactor TempId to be a value class

This resolves an issue with the previous implementation of TempId not having overrides for equals and hashCode, so equality was by reference and thus effectively broken.

TempId is now a value class wrapping a datomic.db.DbId. This object is nothing more than a map from :part to the partition ident keyword and from :idx to a long. The new implementation of TempId exposes the partition and the index. `equals` and `hashCode` now come directly from the datomic.db.DbId object and `toString` delegates to it.
Merge pull request #102 from pellucidanalytics/topic/tempid

Refactor implementation of temporary ids