Introduces a materializer started through an extension and then an implicit
conversion for Scala turning an implicitly available ActorSystem into a
materializer. The Java APIs has been ammended with run-methods accepting
an ActorSystem.
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
then it's complicated to avoid that when snippets are
located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
* automatic throttle burst size, #24699
* throttleEven used maxBurst=Int.MaxValue, which in practise resulted
in no throttling at all at high rates
* The original problem that throttleEven tried to solve was that when
the throttle rate (cost / per) was high the cost of scheduling
dominated and became much lower than the given rate, if 0 or low
maxBurst was given. Difficult for user to know what maxBurst to use.
* In fact, that was already the case for rates > 30/s.
* This is fixed by automatically adjusting the maxBurst for higher
throttle rates in a new throttle overload that doesn't include
maxBurst parameter
* Also skipped the mode parameter for that variant since Shaping is
what almost always is what you want, and otherwise you can use
the full signature with a good maxBurst
* Deprecated throttleEven, since it is the same. Also fixed the
implementation of throttleEven to use the automatic burst size,
since Int.MaxValue is not useful at all.