Consistent help messages

Currently, `docker help` prints the commands, `docker --help` prints the options. This doesn't make sense. Also:

![screenshot 2014-09-08 17 23 15](https://cloud.githubusercontent.com/assets/40906/4195046/94fa7c42-37b7-11e4-997b-d785516a5428.png)

This pull requests makes `docker`, `docker help`, `docker --help` and `docker -h` all print the same, much more helpful, 80-character width thing:

```
Usage: docker [OPTIONS] COMMAND [arg...]

A self-sufficient runtime for linux containers.

Options:
--api-enable-cors    Enable CORS headers in the remote API
-D, --debug          Enable debug mode
-d, --daemon         Enable daemon mode
-G, --group          Group to assign the unix socket specified by -H when
                     running in daemon mode. Use "" (the empty string) to
                     disable setting a group. (default: "docker")
-H, --host           The socket(s) to bind to in daemon mode or connect to in
                     client mode. Specified using one or more tcp://host:port,
                     unix:///path/to/socket, fd://* or fd://socketfd.
                     (default: "/var/run/docker.sock")
--tls                Use TLS; implied by tls-verify flags
--tlscacert          Only trust remotes providing certificate signed by CA
                     (default: "/Users/ben/.docker/ca.pem")
--tlscert            Path to TLS certificate file
                     (default: "/Users/ben/.docker/cert.pem")
--tlskey             Path to TLS key file
                     (default: "/Users/ben/.docker/key.pem")
--tlsverify          Use TLS and verify the remote
                     (daemon: verify client, client: verify daemon)
-v, --version        Print version information and quit

Commands:
    attach    Attach to a running container
    build     Build an image from a Dockerfile
    commit    Create a new image from a container's changes
    cp        Copy files/folders from a container's filesystem to the host path
    diff      Inspect changes on a container's filesystem
    events    Get real time events from the server
    export    Stream the contents of a container as a tar archive
    history   Show the history of an image
    images    List images
    import    Create a new filesystem image from the contents of a tarball
    info      Display system-wide information
    inspect   Return low-level information on a container
    kill      Kill a running container
    load      Load an image from a tar archive
    login     Register or log in to a Docker registry server
    logout    Log out from a Docker registry server
    logs      Fetch the logs of a container
    port      Lookup the public-facing port that is NAT-ed to PRIVATE_PORT
    pause     Pause all processes within a container
    ps        List containers
    pull      Pull an image or a repository from a Docker registry server
    push      Push an image or a repository to a Docker registry server
    restart   Restart a running container
    rm        Remove one or more containers
    rmi       Remove one or more images
    run       Run a command in a new container
    save      Save an image to a tar archive
    search    Search for an image on the Docker Hub
    start     Start a stopped container
    stop      Stop a running container
    tag       Tag an image into a repository
    top       Lookup the running processes of a container
    unpause   Unpause a paused container
    version   Show the Docker version information
    wait      Block until a container stops, then print its exit code

Run 'docker COMMAND --help' for more information on a command.
```

It's quite long, but will become much shorter when we get a `docker daemon` command. It'll also be less-able when we get #7887.

Fixes #1131.