Extract predicate functions from tests

This commit introduces several predicate functions that simply do instanceof? checks.  These are useful in that users of this library no longer need to import the java classes, they can simply use the appropriate predicate function.

There is also 2 multi-functions in here for checking whether an object has a certain subject and a certain issuer.  These are multi-methods because the Java methods required to test this are slightly different between certificates, certificate requests, and certificate revocation lists.  The subject and issuer can be identified with either an X500Name or the string value for an X500Name.  This is useful because sometimes you are dealing with an in-memory object and other times you have a just a string representation of it.