Major reörganization of the codebase

Split codebase into four subproject: common, macros, core, and extras.

_Common_ contains the key datatypes, and just enough to implement the macros. _Macros_ depends on common. _Core_ provides the key functionality of Datomisca, and _Extras_ provides the extra Scala sugar on top of Datomic.