Improve asynchronous push mode of HeatStack:
- Use spawn_after instead of spawn_after_local. Otherwise the data is never
pushed if the initiated thread were to exit
- Cancel background thread instead of killing it. Cancel cancels the thread
only if it hasn't started yet instead of killing it somewhere in the middle.
- Add post-execution cleanup to guarantee that async data push happens
before the execution session end
- Make Instance destruction use async push to speed up the destruction
in case when there are many servers and to test the HeatStack async mode
Closes-Bug: #1643702
Change-Id: I11d157844cb1d973d2cac62c2e6d67d047f75164