Add support for in-memory BIOs

OpenSSL.SSL.Connection now accepts None as the value for the socket/file object to
run over.  In this case, it creates an in-memory buffer to use for reading and writing
instead.  Connection objects also have several new methods; some for interacting with
this in-memory buffer, and others for inspecting the state of the SSL handshake (in
particular, for extracting the master, client, and session keys).

A bug in the crypto tests which caused them to fail on Windows has also been fixed.