make docker pull only the latest tag by default

This PR changes `docker pull` to add a flag called `--all-tags` (`-a` for the short version) to make Docker pull only the latest tag of a repository by default.

These changes are limited to the Docker CLI. The API and the daemon aren't modified for this change.

This will help speed up pulls. This PR is also removing the --tag flag because it doesn't make sense to keep it around any more.

The docs are missing right now. I'll add them if the changes are OK.
why do we always set the tag to `""` ?