Add aliases for exposed ports [#2435]

Provides the ability to name any ports that are exposed through ``-p``, ``-expose`` or ``EXPOSE``, implementing https://github.com/dotcloud/docker/issues/2435.

The addition lets you declare aliases as;
```
# Manually declared
docker run -p 80#webserver <image> <cmd>
docker run -expose 80/tcp#webserver <image> <cmd>

# In a Dockerfile
EXPOSE 80#webserver
```
and any linked containers will then have the additional env vars exposed as;

```
<link name>_WEBSERVER=tcp://172.17.0.2:80
<link name>_WEBSERVER_ADDR=172.17.0.2
<link name>_WEBSERVER_PORT=80
<link name>_WEBSERVER_PROTO=tcp
```

Docker-DCO-1.1-Signed-off-by: Tim Toomey <tim@toomey.co.nz> (github: tim-mit)