[agent] Catch all DockerExceptions on pull

Right now if you try to pull a non-existent image, the TaskRunner will
catch the ImageNotFound exception, but if the image exists locally, it
proceeds without a warning.

If the image repo exists, but a specific tag does not exist, then it throws
an ImagePullFailed exception, which doesn't get caught and the operation
fails even if it is present locally.