Add a links argument to `GearClient.add` (fixes #150)

* I've added a `links` argument to `GearClient.add` which,
* accepts a list of `PortMap` instances.
* The links are currently fixed to point to the host's loopback address,...
* which `geard` will actually (confusingly / understandably) route to the host's non-loopback addresses.
* My functional test for this starts a twisted server on an ephemeral port and then starts a custom Docker image (via `gear`) which attempts to connect and send bytes to its localhost.
* Gear.add creates the links necessary to get route the connection from the loopback port in the container to the listening port on one of the non-loopback addresses of the host.

I was initially confused by the fact that when you ask `gear` to link to `127.0.0.1` it actually routes traffic to one of the host's non-loopback IPs. There has been some discussion on the mailing list about the possibility of actually routing traffic to the host's loopback IP address.
 * http://lists.openshift.redhat.com/openshift-archives/users/2014-June/msg00065.html

I had a notion that the tests would only work if you first run `setenforce 0` on the host machine. But actually I may have misread the output of that command. It's not saying that "SELinux has been disabled", it's saying that "SELinux is disabled altogether, so setenforce has no effect".

```
$ setenforce 0
setenforce: SELinux is disabled

$ setenforce 1
setenforce: SELinux is disabled
```

See https://github.com/openshift/geard/issues/110#issuecomment-44869432

Fixes #150 
This has lots of output in trial

```
Sending build context to Docker daemon 3.584 kB
Sending build context to Docker daemon 
Step 0 : FROM busybox
 ---> a9eb17255234
Step 1 : MAINTAINER Hybrid Logic <support@hybridcluster.com>
 ---> Using cache
 ---> 89a17e0c1408
Step 2 : ADD . /
 ---> Using cache
 ---> bc57ffdd885f
Step 3 : CMD ["/bin/sh",  "-e", "run.sh"]
 ---> Using cache
 ---> a6a3d93b8df5
Successfully built a6a3d93b8df5
```