SPARK-1830 Deploy failover, Make Persistence engine and LeaderAgent Pluggable

maybe make these final so no one tries to override them (since the *Info classes will be private to spark)