Make constructors private

@bfulton Although the diff looks huge, the only external change I made in this branch is privatizing the constructors for `Docker::Container` and `Docker::Image`.