Expose a 'defaultOptions' argument in Shell::getOptionParser().

This way, you don't need to rewrite the whole getOptionParser() when you
just need to omit the default options.

The same happens with subcommands [built from arrays](https://github.com/cakephp/cakephp/blob/master/lib/Cake/Console/ConsoleOptionParser.php#L198).

What should be the best way to avoid them being set the defaults? Pass an option to ```'parser'``` so that ```buildFromArray()``` knows what to do?¿

Should the subcommands inherit the parents choices?¿