Add problem filtering capability to cli frontend.

This commit introduces a way to configure MiMa to filter out
reported binary incompatibilities. Configuration is done in by defining
filtering rules in configuration file that is handled by Typesafe
Config library. Path to configuration file is set with `--filters` command
line option.

The resulting syntax is a bit verbose but we get future configuration
extensibility for free. We also get a way to put comments in configuration
file which is very important if we want to document why given problem can
be safely ignored.

The other command line option this commit introduces is
`--generate-filters` that generates configuration for filters to ignore
all of currently reported problems. It can be combined with `--filters`
option.

The two additional highlights of this change:
  * Add factory method to `ProblemFilters` that creates problem filter
    out of string definition using reflection.
  * Add dependency on Typesafe Config library

NOTE: This change does not introduce filtering by packages but only by
specific problems. However, most of the necessary functionality to
implement that feature is being introduced by this change so it should be
relatively easy to add it if needed.
Resolve substitutions in problem filters config.

By calling Config.resolve we enable substitution mechanism from
Typesafe Config library. This is handy if one wants to break long
list of filters into smaller variables (e.g. focused on one
package) and concatenate them into one big list.