Private Registry Auth Support for Push/PullImage

Authentication for PullImage was not supported when using a private registry.  Also, PushImage seems to use an older method of passing the registry auth credentials as part of the HTTP body.  The docker remote API docs indicate that these should be passed with the X-Registry-Auth header instead.  

These patches add updated auth support using the X-Registry-Auth header to both PullImage and PushImage.