Change captcha.GimpCaptcha check() and get() to use HMAC(encrypt(answer)).
Change captcha.GimpCaptcha check() and get() to use HMAC(encrypt(answer)).

This changes the way that ``captcha.GimpCaptcha``s work to use an
asymmetric keypair to encrypt the CAPTCHA answer. Then, it creates an
HMAC of that encrypted result, using an HMAC key which is derived from
the client's IP address and a master HMAC key used for CAPTCHA challenge
string verification.

TODO: We should possibly add a timestamp into the HMACed data so that we
can timeout requests, and also to disallow adversarial bots which solved
one CAPTCHA a year ago from reusing it over and over again.

mmaker/bridgedb,wfn/bridgedb,mmaker/bridgedb,pagea/bridgedb,wfn/bridgedb,pagea/bridgedb