Change some foldrs to all
PatchActions and ChangeHunks that are identical conflict

This is because abstractly this makes sense, two identical
patches do conflict, but are merged trivially.

added onlyOne hof and updated noConflicts accordingly
Replaces onlyOne with noDistinctPairs for noConflicts
Code for removing duplicates no longer needed

Due to changes with how two identical patches are handled, we
don't need to remove duplicates in the no-conflicts.
Making mergeParallelPatches more readable
Reindent & comment createCommit

Using the State monad can get confusing, and we added comments to remind
ourselves of the bug we fixed in 133e8121a
Fix datatype syntax
Preliminary rebaseStep
WIP resolve + comments