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
The problem is that the `makeHttpHandler` assumes that all returned errors are 404s. This error is *not* a 404, it's a 409 (Conflict -- you can't attach to non-running containers).