cvmfs/cvmfs — pull request #382 by reneme (2014-02-14 08:41:37+00:00)
Title: Refactor cvmfs_swissknife to use PolymorphicConstruction<>

This refactors `cvmfs_swissknife` to use the `PolymorphicConstruction` template for its plugin handling and creation. It uses the [formerly introduced](https://github.com/cvmfs/cvmfs/pull/381) `Introspect()` method of `PolymorphicConstruction` to do parameter checking and help message printing based on the registered plugins at runtime.

Additionally this adds convenience factory methods to the `Parameter` wrapper class (`Parameter::Mandatory()`, `Parameter::Optional()` and `Parameter::Switch()`) to hide some flag magic.