Improve show solution behavior that contain interactive rebase

Currently, showing a solution that contains an interactive rebase requires manually re-ordering the commits, this changes makes this ordering automatic.

Command uses new flag --solution-ordering which can be used as such:
git rebase -i <commit> --solution-ordering <list_of_commits>.

Would be cool to animate from the origin list to the order the solution uses, but this doesn't attempt to do that
you could always just throw an error here instead of having the extra array :P actually ill go change this since it's simpler