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
    {
        "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