Refactor and cleanup - Node agnostic execution

Brandon,

Lots of changes here. I did some general cleanup and minor refactoring of the environment variable substitution, but this pull request is primarily focused on changes that support the execution of the ThreadFix upload on both Jenkins master and slave servers, regardless of operating system.

One note about the environment variable substitution. I would highly recommend this be refactored some more. Its never a good idea to put platform dependent code that only executes on the master, because there is no guarantee the slave is running the same OS. If you can find a way to remove the Windows-specific code, the problem can go away.

I've tested these changes on a Mac (master) -> Linux (slave) environment and a Linux (master) -> Windows (slave) environment. In all cases the ThreadFix upload is successful on all nodes. However, as expected, there are major issues with the current implementation of the environment variable substitution.