!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
So the reason it's not is @rkuhn's initial comment on the issue https://github.com/akka/akka/issues/15121 which I followed here. I was tempted to keep it a case class too actually. If this config object might grow I'd keep as is in this PR, if we do not expect more params I'm fine with keeping it as a case class.

I think this class may not need more params actually... so, keep case class?