Better reporting of subprocess errors
Currently when a subprocess command returns a non zero, there is little evidence as to the exact error. This also applies to paramiko exec_commands.
For example if I place a hold on a snapshot that is already held with the same ref, then this is not necessarily that big an error and can be handled differently to an outright fail.