Using ideas of DataCommit for a more pure rebase

Reimplements much of functionality in Nor.hs and introduces
the type DataCommit which doesn't use hashes
Move dataCommit into Core and WIP new Rebase

Moved datacommit into core where it belongs
updated many types and data constructors
sketched out a way to do rebase with new stuff but its still
  kind of ugly. May need to talk to Norman.
AdjustPatch function implementation
Make adjustPatch functions more clear
WIP towards a pure and simple rebase without conflicts