Rework logic for checksum_valid?

Only write the checksum when we are Nexus or S3 - remote_file will do the rest.
Fast return a value when the cached checksum exists.
  otherwise check the Nexus server (for Nexus) or check the resource's checksum (S3 or remote_file)