Refactored archive logic
Almost all (un)archive code now lives in bash libraries. To add support
for a new compression or encryption algorithm, updates only need to be
made in `archive.bash`, `unarchive.bash`, and the parser in
`mktar-batch`.
`mktar-batch` has eclipsed `mktar` when it comes to explicit command
line options. Much of the logic wqas removed. `mktar` now soleyl exists
as a clever utility that guesses encryption/compression preferences
based on the output filename. Filename is now mandatory.
Refactored tests to reflect these changes.
Standardized use of here-strings in a couple of places.
Big archival update
mktar now experimentally supports SHA256 checksums and age encryption.
mktar-batch is a version of mktar that strips out the 'clever' algorithm
detection and includes a batch processing/common passphrase mechanism.
Updated tests for mktar.
Fix mktar
SHA1 checksum files were created regardless of existence of corresponding
file. Worse yet, they weren't actual checksums.
Formatting fixes; Help message fixes
Refactored code into multiple 'packages'. One day these may be
independently installable. For now it's just an organization method.
Rewrote main README and added per-package READMEs.
Also: bug fix on whiched and whichvi. They formerly propogated an error
if $EDITOR or $VISUAL were set to a non-existant executable. Also
improved the inline documentation.
Specify full path to POSIX utilities; Clean up scripts' output
Added tarls; Update to mktar for archiving directories
Initial commit of cleaned-up dev branch