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)
I see. I did above intended with the thought, that the user might want to specify which command line groups (i.e. those for SDC) he/she actually wants to have available.

Boost::program_options has the ability to mark a group of command line arguments as *hidden*. It might be worthwhile to provide a way to hide certain arguments -- if intended by the user.