Diff: add functions

sometime it's easier to get a diff from a ref and most of the time the diff is
performed between two references. So, it updated the getDiffWith to use Ref
instead of Revision. Added a function to get the Diff but from a revision.