Passphrase: expand triggers.

Will now respond to queries like "5 word passphrase", "pass phrase 3
random words" and "generate 3 word passphrase"

I tried to write the trigger regexes in a way which was both flexible
and readable. I am not sure I actually succeeded, though.

This also leads to a ridiculous number of permutations, as evidenced in
one of the new tests.  I believe it safely catches only appropriate
queries, even if some of them are a bit nonsensical.

Also adds an abstract to reduce the scroll-spam on `dzil test`