Extracted the program logic into a Run() method that returns the exit code which is then always set on the Environment.
The exit code should be != 0 when the arguments can't be parsed, so when the program is run on a build server, the build fails when GitVersion fails.
Added ArgumentBuilder class to handle argument building and overloads to GitVersionHelper in preparation for a test that needs to pass in invalid arguments.
Added test that verifies the exit code when invalid arguments are passed to GitVersionExe. The exit code should be 1 (not 0).
Fixed code inspection problems
Merge pull request #282 from okb/always-set-exit-code

Always set exit code