Dockerclient list images ports 207

Fixes #207 

Various parts of the codebase that referenced this issue have been updated along with their tests in this branch, to either make use of the `image` data now supplied by `IDockerClient.list()` or to explicitly declare an `image` of `None` on `Application` instances in tests that did not previously make use of an image at all - note that the `image` attribute of the `Application` model no longer defaults to `None`, it is now mandatory to declare when creating an `Application` instance (although can still be set to `None` if desired).
Will `port_mappings` ever actually be None? If not, we can remove another code path.