Fix container attach API to stop silently ignoring errors

This patchset fixes several issues regarding `/containers/{id}/attach`, where no error code is returned when trying to attach to a stopped container (rather, the error was ignored silently).

It should be noted that this patchset does change the API, and will break older clients (so after building, ensure that both the docker daemon and client are the same version -- otherwise `docker run -i` won't function normally).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)

Fixes #6108

/ping @vieux @shykes
you should probably follow the same pattern as other handler and return an `error` with `fmt.Errorf` instead of str8 calling inthe `http.Error`: `makeHttpHandler` will take care of this.