FetchAttachmentsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)
Given a set of hashes either loads from from local storage or requests them from the other peer. Downloaded attachments are saved to local storage automatically.