Added ability to pass Certificate objects directly instead of Thumbprints

All exported functions which previously accepted CertificateThumbprint parameters now also accept a Certificate parameter which is an X509Certificate2 object instead of a string.  This allows users to load certificates from files / etc instead of having them installed in a store somewhere.

Implements #1