Adding DAG ancestry and tests.

The DAG ancestry is a fast bitmap ancestry cache. It has some up-front
cost to contstruct but provides very fast ancestry lookups.

The test code for this uses test.check which was brought in as a :dev
dependency. Also, to support different scales of testing, I added
:test-selectors to the Leiningen project.clj.