* tests and comments about 'changes' for #291
* add 'changes' tests, improve diagnostic
* preserve trailing newlines in diff output
* use bash trickery to preserve trailing newlines in captured text
* test 'changes' on files without newlines and when called on a non-existant file
* improve comments and variable names
* test with expired key, add 'whoknows -l'
* 'whoknows -l' shows key expiration dates
* also added docs and tests for `whoknows -l`,
* tests for expired keys,
* epoch_to_date functions
* update man pages
* fix epoch-to-date conversion on OSX
* test output of 'whoknows -l'
* fix for lint/shellcheck
* fix for osx
* lint fix
* use date as found in $PATH
* disable 'set -e' as little as possible
* test that hiding secret with expired key fails
* add test of user key without username.
* revert to performing most tests with 'user1'.
* move user4 private/public key fixtures
* factor code fetching emails from keyrings, add comments.
* use factored _warn_or_abort()
* add to, clean up, and clarify comments.