Move auth to the client

Here is a first version of moving the auth from the server to the client.
It has room for improvements so feel free to comment.

The .dockercfg is now stored in $HOME instead of /var/lib/docker/

Here are the main changes:

* docker login is just a "proxy" to the registry, it doesn't store the config, the client does.
* GET /auth is removed as the config is in the client
* on docker pull and docker push, the client sends it's config as POST.

Fixes #660