Merge pull request #102 from vhbit/fix-neg-serials

Fix negative serials on generated certs
Add license and description
Update stuff for upload to registry
Add more crate metadata
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
Fix deprecation warning
New build system
New build system
Cert loading from PEM & restructuring 

- Added cert loading

- Extracted X509 tests

- Extracted `hash_str_to_vec` function into `utils.rs` as it is used 
  in a couple of tests now

- Fixed `hash_str_to_vec`, funny enough prev test with it was working 
  because I’ve made another mistake by providing VerifyNone instead of 
  VerifyPeer and those 2 mistakes compensated each other. Since
  `hash_str_to_vec` is private there was no errors on client code
Better thread working

Works pretty stable for me, although I'm not sure it is 100% thread safe yet.

Changes mostly inspired by https://www.arangodb.org/2014/07/08/started-hate-openssl :

- Switched to newer CRYPTO_THREADID API for Unixes

- Clearing errors queue before every critical operation
Simplified SslStream.write, updated comments
Locking internal buffer from same thread access

If cloned stream was used in the same thread
WIP: erase later
Update to nightly
Fixed invalid rebase