Add new proof of access put logic

Add new APIs to ManagedStorage which allow a caller to "upload" a file by proving they have access to it, without needed to upload the whole file. They ask to put a file (supplying the checksums for the entire file) and are prompted to respond with checksums from a random byte range in the file. If the checksums match, then the put succeed as if the whole file were uploaded.
I've renamed to:

PutForEnvironmentRequest()
ProofOfAccessResponse()

maybe that's better?