pkgar-keys errors

Merged SamwiseFilmore requested to merge keys-errors into master

Reasonably large refactor of the error handling in pkgar-keys. See the commit messages for a more detailed summary, but errors should print pretty now with all the needed context, etc.

Two other minor fixes that are very important: the default key paths were switched, not sure how I missed it but I did. Private key files were also being created with 644 instead of 600 by default, so that should be correct-ish now (not sure if the umask should factor in there...).

I also did a bump of all the dependencies to their latest versions. I will release pkgar-keys to crates.io as soon as this is merged.

Merge request reports