sys (and bn): make CRYPTO_free() take a *mut c_void insead of a *const c_char

CRYPTO_free() ends up being used for a variety of types of data, not just
c_char. And it essentially takes full ownership of the type, making
*mut appropriate.

With this change it also more closely (exactly) matches the C defintion:
	void CRYPTO_free(void *ptr);
sys: add some methods for dealing with x509 certs
sys: add SSL_get_peer_certificate()
ssl: add get_peer_certificate()
Merge pull request #104 from jmesmon/sys

Add get_peer_certificate() and a few ffi methods