More robust error handling

Instead of checking for potential issues with symlink creation/
removal, just try it and handle the errors. The errors are now also
made more human readable.
Log Verbosity control

The verbosity of the logging can now be changed by adding -v. By default,
the Program is significantly less talkative.
Improved Command Line Parsing

Command line parsing is now more scalable and more reliable. A map of
Handler for the command line flags replaces counting and searching in
the flags. Not quite boost::program_options but ...