For many releases we have seen overall deployment and workflow exections
that timeout throw a json decode error. This is usually because either
the mistral execution completely failed (unhandled exception),
something during the deployment hangs (bad network config), or the
--timeout was less than the time it takes to run an action. If we get an
exception waiting for timeouts that isn't already a websocket timeout or
something to that effect, we should catch it and print some useful
messaging that the user can use to begin their troubleshooting.
Change-Id: Ie239f3fc11bbf95dc9af9786b288f6e8aef1193a
Closes-Bug: #1882134
(cherry picked from commit ecf2241668)