[SPARK-3658][SQL]Take thrift server as a daemon

https://issues.apache.org/jira/browse/SPARK-3658

And keep the `CLASS_NOT_FOUND_EXIT_STATUS` and exit message in `SparkSubmit.scala`.
Hm, that's fair. I'd use `export` in `sbin/start-thriftserver.sh` before `exec` to fix this issue (exported environment variables can be accessed by bash subprocesses):

```bash
export SUBMIT_USAGE_FUNCTION=usage
exec "$FWDIR"/bin/spark-submit --class $CLASS "${SUBMISSION_OPTS[@]}" spark-internal "${APPLICATION_OPTS[@]}"
```