container: Add ContainerAlreadyRunning and ContainerNotRunning error

Docker returns http.StatusNotFound (304) when trying to (start|stop)
a container that is (already|not) started.

container should return proper error for the HTTP status code.
It's because the Error method is not defined on a pointer. The receive of the call is not a pointer, you should not use a pointer to represent the type that implements the interface. IMO, Go should prohibit that, but for some reason they don't...

I've just noted that &NoSuchContainer is "broken" as well. It's fine to change the receivers in the method declaration to use a pointer, if you want.