Extract: skip prompts unless relevant

This adds a new microservice which checks to see if the transfer
contains any compressed packages. If no extractable packages are
present, then the prompts to extract and delete will be skipped.

Fixes #6350.
Clamscan cleanup

Remove unused imports and dead comments, fix whitespace, move code out of
with statement that is unrelated to the file being open, add more print
statements to track clamscan status, use sys.exit instead of exit, etc
Run clamscan on extracted files

refs #6347

Add virus scan node after extracting files that only runs on objects. In
clamscan script, check if a scan event already exists, and skip re-running
clamscan if so.  Update all virus scan instances to fail the SIP/Transfer
if virus scan fails.