Ensure Docker client uses exit codes when errors occur

This patchset essentially ensures that the Docker client actually exits with error codes if an error is encountered.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)

/cc @shykes @vieux @crosbymichael
I can convert them here rather than in `cli.ParseCommands`, it just made more sense to convert them there. If you want, I can convert them outside or just make `cli.ParseCommands` return `StatusError` rather than an `error`.