Change dockercfg to json and support multiple auth remote

Related to #1246 

.dockercfg is now in JSON and can store multiple auth remote, for exemple:

    $>cat ~/.dockercfg
    auth = xxxxxxxxxxxxxxxxxxxx
    email = victor@dotcloud.com

Becomes:

    cat ~/.dockercfg | python -mjson.tool
    {
        "https://index.docker.io/v1/": {
            "auth": "xxxxxxxxxxxxxxxxxxxx",
            "email": "victor@dotcloud.com"
        }
    }

I drop support for API  version < 1.2 (auth stored in the server) as the format of the .dockercfg as changed.
This is a **first step** to improve `docker login`, for now, docker login and docker push will always use the index url as key, but pushing to another auth will be easier. (we could for example add a parameter to `docker login`, like `docker login "https://index.docker.io/v1/"` or `docker login "http://localhost:5000"`

/cc @samalba