=act #15488 add @volatile logLevel, and benchmark

Summary:
* made `logLevel` @volatile
* Perf benchmark and results are attached.

Please review @viktorklang
Merge pull request #15553 from ktoso/port-volatileLogLevel-ktoso

=act #15488 add @volatile logLevel, and benchmark (for validation)
=act #13970 Send transistion on goto(CurrentState) in FSM

When in `A`:
* `goto(A)` will trigger `onTransition(A -> A)`
* `stay()` will NOT trigger `onTransition`

Includes:
* migration guide
* docs updates
* test
Merge pull request #15561 from ktoso/master

=act #13970 Send transistion on goto(CurrentState) in FSM
=per #15575 lessen timing issue in AtLeastOnce spec

* lower redelivery interval does not change semantics here (no one
  answers anyway), and lessens the changes to be "unlucky" with gc pauses
* was unable to reproduce error with snapshotting in 80 builds on
  jenkins. Brainstormed possible errors but not found yet..
=per #15559 use the same config as all other peristence tests

* this includes the default expect timeout of 10s (instead of 3s)
=con #15574 impr TimerBasedThrottlerSpec stability

* the lower bound was rather racy, depends on "where in it's Tick"
  time the throtteler currently was. In general the upper bound is also
  not exact, but "good enough" because the `.5` is an estimation of "the
  throtteler must finish it's previous tick, and then it sends the data"
Merge pull request #15586 from ktoso/forward-port-test-hardedning-ktoso

For Validation, 3 test hardening commits from release-2.3
Apply time dilation in time critical testing activities