backend, frontend: cancel also "starting" builds
There's no point to _not_ deliver a cancel request when the build is in
"starting" state. At least now.
Also, from the backend perspective, try to check if there's the cancel
request always before we start doing some expensive actions.
Fixes: #1391