Add the option to use the java-docker API instead of the command line.

We do development on Windows which does not currently have a Docker
command line client.  This makes it hard to use the original version of
the plug-in.  This commit allows the use of the
[docker-java](https://github.com/docker-java/docker-java) client instead.
The following configuration options are added:

- useApi -- boolean which indicates whether to use the API or the command
  line client.  The default value is `false`.
- serverUrl -- the URL for the docker server.  If the value is null then
  we use the default value.
- username -- the name of the Docker user if authentication is required.
- password -- the password of the user if authentication is required.
- email -- the email of the user if authentication is required.
Fix for handling of convention closures.
Some minor fixes

Fix defaults for serverUrl and username so that we can properly detect
when they are set.

Allow stageDir to be augmented with a context directory in order to
support projects that want to build more than one image.

Fix some comments (Dockers use of registry and repository continues to
confound me).
Merge branch feature-javaApi (from 'YouTechnology-master') into dev
Cosmetics