Added negative test.
Changed API so verify throws exception if signature fails to verify.
(It was getting ridiculous checking all the openssl return codes to distiguish
between sig algorithm errors and real errors; Also, public decrypt was throwing
an exception anyway).