Adding '--version' and exit on invalid option. fix #413

If a user pass in an option that is not defined in `defaultConfig` object within `config.js`, then exit with an warning.
I was a bit fast merging this.. this doesn't work, for instance the option can be `--gitVersionCheckOverride` but the key in the map is `gitVersionCheckOverride`. There's also overrides defined by optimist such as `-b` and you can also do things like `--gitVersionCheckOverride=true`. I'm going to remove this code for now