Enhance import error reporting

This PR
* breaks the sra import code into more functions
* does extra error checking around chdir(), the validation helper, and around shellcmd()
* also adds logic to handle the case where bam has an alignment but no unaligned reads
The various `_message` functions do `sprintf` internally, so you could omit the sprintf here and on 184.