+per #15279 FSM for PersistentActor

Located in akka-persistence because persistence is experimental and probably should not be used in akka-actor
Removed match all, added 2 more cases that do nothing:
```scala
      (lastRecoveredEvent, allowRestart) match {
        case(NoPersistentEvents,  _)                          =>
        case((StateChangeEvent(state: S, Some(data: D))),  _) => super.applyState(goto(state) using data)
        case((StateChangeEvent(state: S, None)), _)           => super.applyState(goto(state))
        case(StopPersistentEvent, false)                      => throw ActorInitializationException(s"FSM restart not allowed. Persistence Id: $persistenceId")
        case(StopPersistentEvent, true)                       =>
      }
```