Replace datastore head with a map of datasetID's to commits. Each commit in the map represents that dataset's head. Fixes#402. Fixes#60. Filed #404 about small window of potential conflict with updating root that needs to be resolved at some point. # Please enter the commit message for your changes. Lines starting
This make Commit a typed struct with a Set(Commit).
This also fixes a case where the recursive detection for determining
if a Def can be created was not working.