Removes username from tests when unused

The field is never used in these tests. It should make it easier to
separate tests that require a docker.io account from those that do not.
Cleans up DockerClient constructor

Just doing a little refactoring of the constructor to make it easier to
read.
Creates an injectable CommandFactory for DockerClient

In order to improve the usability of DockerClient in tests, this
introduces a CommandFactory interface (and default implementation). The
interface can be injected into the DockerClient at construction,
allowing the use of a CommandFactory that returns mock or stub commands
for later test assertions.

I envision that the methods that create the commands from the
DockerClient itself could be deprecated: users of the library could
create the commands from the CommandFactory directly and simply pass
them into the DockerClient#execute method where teh baseResource and
(if appropriate) authConfig would be set on the command before it's
executed.

Issue #25
Adds some getters to command objects

This only adds getters for fields that are of immutable types (Strings,
booleans, ints). For objects that take in Config objects, I'll look at
adding getters in a future commit. Ideally all of these things would be
immutable.

Issue #25
Merge branch 'for-upstream' of https://github.com/mfulgo/docker-java
into mfulgo-for-upstream

Conflicts:
	src/main/java/com/github/dockerjava/client/DockerClient.java
Merge branch 'mfulgo-t push origin masterfor-upstream'