Handle context cancelations for SSH executor
Overview
In the ssh executor we pass in the context but don't really use it anywhere. We are not handling the case if there is any cancellation from the top part of the stack, for example, cli terminated/killed or something else which just leads to slower shutdown/cancellation of builds.
Proposal
Use the context that is already passed to handle cancelation, so as soon as the context is canceled we stop check/executing the script accordingly, and terminate (ideally gracefully) so that we can close connections quickly and gracefully if we were introduced to terminate the command.