Makes Config a public, immutable class with a builder

This makes Config a public class, so it can be passed into the
DockerClient constructor from code in different packages. It also
makes Config an immutable object and includes a builder for convenience.

Fixes issue #24.
Merge pull request #29 from mfulgo/for-upstream-24

Makes Config a public, immutable class with a builder