[Review Only] Create a list of long running promises and quit only when all of them are done.

This is another attempt to fix the remaining crash issue of #7683. The solution here is copying the idea from @redmunds  pull request #8062, but correctly identify the long running promise in JS Code Hints provider. So it does fix the remaining crash issue. 

This may be another one-off solution, but does provide an easy way for others to do the same thing in preventing cef-1750 crash.
Instead of `longRunningPromises`, I think `shutdownPromises` is a better description. What do you think?