Started moving logic to individual methods to aid in reading the class.
Fixed for windows:
-File.getCanonicalPath() has two issues for windows:
--It returns a path beginning with 'C:'
--The path uses backslashes not forward slashes
I fixed both of these issues.
Updated .gitignore

Commits not ignore jar files. Jars do not need to be kept in the
repository and should not be kept there, so this will make git ignore
them.