Miscellaneous repo/changeset fixes
* better git statuses handling
* refactoring and cleanup to make it testable
Tests for recent refactoring
Addressing comments, minor stylistic changes
Merge pull request #38 from odcinek/git_output_fixes

Miscellaneous repo/changeset fixes