Container creation/start failure cannot be reproduced by inspecting the containers. This change caches such errors so that kubelet can retrieve it later. This change also extends FakeDockerClient to support setting error response for a specific function.