Show canonical name in `docker ps`

After trying out the upcoming 1.3.0, I was pleased to see that https://github.com/docker/docker/pull/7686 made the default output of `docker ps` more compact. However, keeping the very first name could be confusing, as it might be the name resulting from a `--link` (`foo/bar`). @guywithnose @crosbymichael was that on purpose?

This patches makes sure that the canonical name is shown (which also happens to be the shortest), and avoid unnecessary processing of the names.
I'm not sure that understand this code. Here `outNames` will be length `1`? Is possible that there is no canonical name?