Added endpoint option back. Added support for Origin checking. Added support for
checking if the object exists and the MD5 matches, then skipping the upload.