+per #15279 FSM for PersistentActor

Located in akka-persistence because persistence is experimental and probably should not be used in akka-actor
Changed it:
```scala
nextState.stopReason match {
      case None ⇒
        if(asyncPersistenceMode) {
          super.applyState(nextState)
          persistAsync(StateChangeEvent(nextState.stateName, Option(nextState.stateData))) (ev => {})
        } else {
          persist(StateChangeEvent(nextState.stateName, Option(nextState.stateData))) (ev => {
            super.applyState(nextState)
          })
        }
      case _ ⇒
        if(asyncPersistenceMode) {
          super.applyState(nextState)
          persistAsync(StopPersistentEvent) (ev => {})
        } else {
          persist(StopPersistentEvent) (ev => {
            super.applyState(nextState)
          })
        }
    }
```