init() {
    return Bluebird.resolve(this._initSequence())
      .timeout(this._initTimeout)
      .catch((e) => {
        if (e instanceof Bluebird.TimeoutError) {
          throw kerror.get("core", "fatal", "service_timeout", this._name);
        }

        throw e;
      });
  }
Call _initSequence to initialize the service
and throw an error if timeout exceed

@returns {Promise}