added some comments in main method
subcommand comments
grouped related functions
greatly simplified wrappers for the basic git commands by removing redundant checks (git itself already performs those or at least doesnt fail on the conditions that were checked)
refactored 'update': same functionality but more preemptive checks.
refactored 'finish' in the same vein as 'update' in the previous commit