Streamline field-based serialization
Add core.Commit.Equal and core.Commit.ParentsEqual and tests