### Environment

* Dubbo version: 3.2.0
* Operating System version: macos10.15.7
* Java version: 1.8

### Steps to reproduce this issue

使用各种方式导致Module启动失败。

### Expected Behavior

Module启动失败，不暴露MetadataService。

即不执行DefaultApplicationDeployer#prepareApplicationInstance。

### Actual Behavior

由于org.apache.dubbo.config.deploy.DefaultModuleDeployer#onModuleFailed传入错误的状态STARTED，导致执行DefaultApplicationDeployer#prepareApplicationInstance。

```java
private void onModuleFailed(String msg, Throwable ex) {
    try {
        setFailed(ex);
        logger.error(CONFIG_FAILED_START_MODEL, "", "", "Model start failed: " + msg, ex);
        applicationDeployer.notifyModuleChanged(moduleModel, DeployState.STARTED);
    } finally {
        completeStartFuture(false);
    }
}
```


throw new IllegalStateException(getIdentifier() + " is stopping or stopped, can not start again");
        }
        try {
            if (isStarting() || isStarted()) {
                return startFuture;
            }
            onModuleStarting();
            initialize();
            // 
            exportServices();
            // 
            // 
            if (moduleModel != moduleModel.getApplicationModel().getInternalModule()) {
                applicationDeployer.prepareInternalModule();
            }
            // 
            referServices();
            // 
            if (asyncExportingFutures.isEmpty() && asyncReferringFutures.isEmpty()) {
                onModuleStarted();
            } else {
                frameworkExecutorRepository.getSharedExecutor().submit(() -> {
                    try {
                        // 
                        waitExportFinish();
                        // 
                        waitReferFinish();
                    } catch (Throwable e) {
                        logger.warn(CONFIG_FAILED_WAIT_EXPORT_REFER, "", "", "wait for export/ occurred an exception", e);
                    } finally {