Big changes to main code

Adds argument parsing
- still have to put -[letter] infront of all arguments, including mandatory. However, user's notified when mandatory option isn't set, and told what it is etc...

Moves global var declarations to separate method - 'setVars()'
- Not sure if this is the best way to do it, but keeps things clean for now. Problem is 'args' is defined in 'argParser()' function, so declaring loads of variables outside of any function doesn't work as they attempt to execute before 'args' is defined (in 'argParse()'). Will keep these variable declarations in this function for now, otherwise code will get very messy very quickly

Adds optional user-supplied thread count
- Bonus of the new argument parsing. Was easily implemented and works. No max limit at the moment - should be an easy addition also.

Adds rudimentary optional verbosity
- Another bonus of the new arg parsing. very rudimentary atm, and if we want to add verbosity anywhere else, "if args.verbose == True" may become an ugly way to do it, but it will do for now!

//CM