Add facility to consume exceptions.

Commando must consume exceptions by default. Any exception should be
communicated in a friendly manner to the user via the parser or the
given logger.

- Add `raise_exceptions` parameter to `Application` constructor.
- Add `logger` parameter to `Application` constructor.
- `Application` should raise exceptions only if `raise_exceptions` is
   true or no logger has been provided and the parser has not been
   initialized yet.
- Fix code formatting issues.
Bundle various frequently used utilities with commando.

- Include ShellCommand object for calling shell commands with ease.
- Include ConfigDict object that allows accessing a dict like an object.
- Include autoprop decorators for providing synthesized properties.
- Include logging helpers from the hyde project
- Create a default logger if one is not provided