Remove concept of Commit explicit parents

- Add dynamic lookup for commits
- Change latest to 'commit_time' rather than 'id'