Enabling Commandline Parameters

This will hopefully fix #45 in the long run.

Boost::ProgramOptions looks really good and supports command line parameters, [response files](http://www.boost.org/doc/libs/1_56_0/doc/html/program_options/howto.html#idp344586048) and config files (INI-style).

With the help of `std::function` we are able to have component-wise parameters (but with global duplication-detection) and having the specific parameters of a component (e.g. SDC) defined in the corresponding header file.
The user has full control over the set of components to have parameters enabled and can easily add his/her own parameters.

Access to the parsed parameters values is done via a single global static function `pfasst::config::get_value<T>("long-parameter-name"[, default_value])`, with the possibility to specify default values.

#### TODOs
- [ ] make `get_value<T>(name)` throw `out_of_bounds` exception if no default value is given and the parameter was not given (currently it will segfault)
- [ ] add parameters for other components (i.e. quadrature)
Can we make this section look more like an `MPI_Init`?  Something like:

    AdvectionDiffusionSweeper<>::enable_config_options();
    pfasst::init(argc, argv);

and the `pfasst::init` call does the `SDC<>::enable_config_options` etc....