@Override
      public Thread newThread(Runnable r) {
        return new Thread(threadGroup, r);
      }
Initialize the procedure executor, but do not start workers. We will start them later.
<p/>
It calls ProcedureStore.recoverLease() and ProcedureStore.load() to recover the lease, and
ensure a single executor, and start the procedure replay to resume and recover the previous
pending and in-progress procedures.
@param numThreads        number of threads available for procedure execution.
@param abortOnCorruption true if you want to abort your service in case a corrupted procedure
                         is found on replay. otherwise false.
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java