!str #15121 MaterializerSettings now uses a config object

* it's now easier to create a FlowMaterializer(), which will use the default (see akka-streams/.../reference.conf) configuration
* kept methods to easily overload some values of the settings (used to be done via copy())
* made some apply() duplication trade-offs in FlowMaterializer companion for nicer API
* made it possible to set namePrefix from Java API

Resolves #15121
@patriknw I resorted to this trick, in order to make it not too painful when creating these settings from an ActorSystems config object (see here https://github.com/akka/akka/pull/15759/files#r16829926 – there is quite a few places like that). Do you think that's fine or are we back to having a `def default(system: ActorSystem)` factory method here (I'd like the factory actually)?