Implement S3 test artifact wrappers.
Implement S3 test artifact wrappers.

- Define generic Artifact class
- Implement ArtifactCollection which manages artifacts
- Implement DiskArtifact specialization

The Artifact class exposes methods to download  the S3 file to a
specified location. The DiskArtifact class links a rootfs to a specific
ssh key and defines a method to get the ssh key artifact.
ArtifactCollection defines methods for retrieving collections of
disk, kernel and microvm config artifacts.

Signed-off-by: Andrei Sandu <dbc21552912e46b041d86cfb2348c8cc4a9bf089@amazon.com>

firecracker-microvm/firecracker,firecracker-microvm/firecracker,firecracker-microvm/firecracker,firecracker-microvm/firecracker,firecracker-microvm/firecracker