Cleaning up CMD/Sys Environment calls

Making WindowsCMD calls easier, updating unit tests, refactoring the
previous stuff.
Cleaning up my stupidity

Somehow i missed os.Setenv() :(
Moving towards a more modular "config type"

ConfigType should essentially be a reference towards "what" is being
updated; eg NPM, SourceTree, Ruby, etc.