Network links 91

This is a work in progress, but I want to discuss some things and get some feedback, so here's a pull request for that discussion.

So far:
 * Modified `GearClient.add` to accept a ports argument, which is a list of `PortMap` instances
 * Implemented a `GearClient.get` method (untested) which will gather information about a named unit using `docker inspect` and return it as a...
 * `GearUnit` record which encapsulates a few of the attributes of a gear unit and which can be easily compared and repr'd.

I think I should probably move the `GearClient.get` to separate ticket / pull request (perhaps combined) with https://github.com/hybridlogic/flocker/issues/32

Maybe also implement our own test container whose internal exposed port can be supplied in tests (rather than relying on `openshift/busybox-http-app` exposing port 8080. (https://github.com/hybridlogic/flocker/issues/120)

And perhaps the work for adding a gear unit with a specific external port should be a ticket / pull request in it's own right, and then implement the routing part of #91 in a separate pull request.