Add a -WhatIf to programs based on ProgramBase

This option evaluates the configuration from the command line, configuration
files, environment and defaults as if the program was about to run, prints
it to the log and to the config, and then exists successfully. This can be
very useful when debugging configuration issues.
Merge pull request #146 from EventStore/whatif

Add a -WhatIf to programs based on ProgramBase