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
This was my note about pointer. I suggested to use value because this is good style for go - using values for small structures with only-value fields, this reduce GC and also how I investigated from broadcastwriter refactoring slightly faster. For client code this is mostly style change.