Artifacts: fix error handling.
Add BlobMetadata class
Use BlobMetadata everywhere.
Support subpath in complex metadata