Move mojo execution boiler plate into base class.
Make Language a class instead of an enum.

The base mojo exposes a Set<Language> to subclasses like before, but creates the instances from the
comma-separated list provided by the configuration.