!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
might be better to keep MaterializerSettings as a case class, and let the `apply(config)` create such an instance
then these things could use ordinary copy