Reworked ArtifactManager.archive to take a Map<String,String> to allow more flexible archiving behaviors.