added git methods for rev-list and ls-tree
refactored history logic and implemented sorting the output
by size then path