Improved program argument parsing.