Added auth for pull/push operations to support private repositories

Added AuthConfig to contain auth information (user, password, email) and support for X-Registry-Auth header on pull/push operations. AuthConfig option is supplied to DefaultDockerClient.Builder and stored within DefaultDockerClient. The content of the X-Registry-Auth header is either "null" for no AuthConfig, or base64 encoded auth information, this is determined in new private method authHeader().