Do not compress passwords.

According to a forthcoming paper by Alfredo Pironti, OpenPGP compression
can reveal entropy levels. We thus disable compression.

Existing password stores can be reencrypted without compression using
the "--reencrypt" flag for "init".

Reported-by: Alfredo Pironti <alfredo.pironti@inria.fr>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Shred shm files.
Team pass: enable multiple keys and per directory

The .gpg-id file may now have multiple keys in it, one per line.

If a .gpg-id file exists inside a subdirectory, passwords inside that
directory are encrypted to that/those ids.

The init command has learned a -p/--path option for writing such a sub
directory .gpg-id and now can take several arguments for ids.
Copyright notice
Simplify exports.
Style.
clip: don't race between pass instances in restore

We now make sure a previous pass clip restore finishes immediately when
copying another password to the clipboard.

This is currently only implemented on Linux.
man: Document multiple keys in env var
git: sign commits if enabled
Allow selection to be overriden by $SELECTION

Some users want to use a different clipboard for pass.

Suggested-by: nand <nand@nand.wakku.to>
Makefile: appropriate mkdir -p for completion

Fix for c832d4647439a0d504a310fba51f20dcb5051c47
Configurable clipboard time.
Fix argument order for mktemp

mktemp expects all options before a template. This prevented the
temporary file for "pass edit" mode from being created in /dev/shm.
Prefer bash parameter expansion over basename(1)
Follow symlinks in Zsh completion

If `PASSWORD_STORE_DIR:-$HOME/.password-store` is a symlink, Zsh throws:
`_values:compvalues:10: not enough arguments`.

Passing `-L` to find(1) fixes this.
Man page typo.
New pwsafe2pass script.
keepassx2pass: friendly title field

This patch removes several special characters while attempting to preserve
as much meaning in the filename as possible. These changes are made to the
KeepassX title before it is used as a file password store filename:

   - Spaces between words in file names are replaced with camelCasing.
   - The characters \ | ( ) are each replaced with a hyphen.
   - Trailing hypens are removed.
   - @ is replaced with "At"
   - ' is removed
Keepass import should include root-level entries

Repro steps:
1. In KeePass, add some entries as children of the root node
2. Export the KeePass to foo.xml
3. 'keepass2pass.py -f foo.xml'
Expect: all entries imported
Actual: root-level entries are skipped