pull: use tag service for pulling tagged reference
pull: use tag service for pulling tagged reference

The tag service does a `HEAD` request to get the manifest digest, where
we can then do a `GET` against the digest.

The `GET` by tag is not cacheable, but the `GET` against the digest is.
This allows proxies to work way better.

Signed-off-by: Brian Goff <dc73d0991b982a8303e713ef531a313af77e242a@gmail.com>

moby/moby,mahak/docker,yosifkit/docker,djs55/docker,flavio/docker,kojiromike/docker,moul/docker,AkihiroSuda/docker,vdemeester/docker,paralin/docker,Ramzec/docker,Ramzec/docker,konstruktoid/docker-upstream,moul/docker,cpuguy83/docker,thaJeztah/docker,nawawi/docker,kojiromike/docker,moby/moby,konstruktoid/docker-upstream,jimjag/docker,gnailuy/docker,nawawi/docker,gnailuy/docker,trebonian/docker,thaJeztah/docker,jthelin/docker,Mokolea/docker,moul/docker,justincormack/docker,konstruktoid/docker-upstream,docker/docker,AkihiroSuda/docker,moby/moby,Mokolea/docker,jimjag/docker,nalind/docker,jameszhan/docker,nawawi/docker,cpuguy83/docker,bearstech/moby,gnailuy/docker,jimjag/docker,trebonian/docker,docker/docker,jameszhan/docker,gnailuy/docker,nawawi/docker,docker/docker,cpuguy83/docker,thaJeztah/docker,Mokolea/docker,paralin/docker,jimjag/docker,justincormack/docker,nalind/docker,flavio/docker,nalind/docker,paralin/docker,paralin/docker,jameszhan/docker,AkihiroSuda/docker,moul/docker,flavio/docker,justincormack/docker,bearstech/moby,trebonian/docker,trebonian/docker,yosifkit/docker,djs55/docker,jthelin/docker,cpuguy83/docker,Ramzec/docker,yosifkit/docker,thaJeztah/docker,AkihiroSuda/docker,mahak/docker,vdemeester/docker,vdemeester/docker,bearstech/moby,mahak/docker,djs55/docker,flavio/docker,mahak/docker,moby/moby,Mokolea/docker,nalind/docker,konstruktoid/docker-upstream,kojiromike/docker,bearstech/moby,yosifkit/docker,Ramzec/docker