Added --config-file option

Also fixed some typos, and used parser.error() in args validation.