Ajf fixes 201305

This is my set of fixes that allow the user to stop the huge memory leaks that engine_pkcs11 currently suffers from.  (On x86_64, it's about 35KB per key.)

As mentioned in this thread:

http://sourceforge.net/mailarchive/message.php?msg_id=30821855

It's not the prettiest solution, but it's up and running and working fine on my embedded platform (Linux 3.4, OpenSSL 1.0.1e, PPC32) and it passes valgrind testing on x86_64 (Linux 3.8-3.9, OpenSSL 1.0.1e).  [Well, as much as *anything* using OpenSSL can pass valgrind...]

The critical commit is 91133b719c71; most of the others are prep or cleanup.

I don't see myself making any further changes to the code, so I'd like to see it integrated so others can use it, and so that it doesn't get lost in time.

Thanks,
Anthony Foiani