Adjust algorithm starts at greatest offset

Because we are constantly updating (adjusting) patches, need to start with the
greatest offsets to adjust so an adjustment doesn't create a conflict that
does not exist. Since it is a foldr, just need to sort (not reverse sort)
Implements replay algorithm that handles conflicts

Detects conflicts using the new adjust patch
Much better adjust functions
Add invertable type class to patch and minor fixup
New rebase with conflicts
Test case for Rebase