Functional testing: canonicalize a key with a bad signature

In this mountain of code there is the start of a test for canonicalize: testCanonicalizeExtraIncorrectSignature. It adds an extra, bad, signature, and checks that canonicalize removes it.

There is a chance this will go from passing to failing on Monday, because of the short expiry date of the sample key signature (Mon Jul  7 14:25:55 BST 2014), so best to wait until Tuesday before merging (assuming you're happy with the changes)

Much of the complexity here is because none of the PGP classes in BouncyCastle implement equals. (Or indeed toString, which makes it hard to figure out what went wrong when a comparison fails - I've resorted to dumping the keyring and looking at it with pgpdump).