Enabling TLS1.2 support

Unfortunately OS X comes with 0.9.8 bundled. There is a way to
install a recent version through homebrew, however it is
extremely hard to make it link agains brewed version without
tricking link version
TLS 1_1, 1_2, Ssl 2 is enabled by features
Merge pull request #46 from vhbit/tls1-2-support

Enabling TLS1.2 support
Certificate/pkey generation & PEM export

Required quite a lot of refactoring
Added signatures forBN_sub_word, BN_is_zero, BN_is_one, BN_is_word,
and BN_is_odd.
Fixed incorrect BN_mod_inverse signature.
Added signature for BN_bn2dec.
Added trait implementations for Zero, One, and fmt::Show.
Added to_dec_str function to BigNum impl.
Use CRYPTO_free to free the result of BN_bn2bin.
Removing unused signatures for the time being.
Removed BN_sub_word signature for the time being.
Merge pull request #55 from cjcole/master

Additions and one bug fix (BN_mod_inverse).
Addressed review comments

- fixed invalid file permissions

- removed redundand mem::transmute

- removed outdated FIXME's

- removed redundand temporary variable

- removed macro_export for internal macros
Merge pull request #53 from vhbit/cert-gen

Certificate/PKey generation & PEM export
single `ffi` module
Merge pull request #56 from vhbit/single-ffi

Single `ffi` module
Fixed mut_null deprecation warnings
Unification and explicity in FFI type decls
Merge pull request #57 from vhbit/mut-cleanup

Clean up of mut/const types in `ffi` and also `mut_null` -> `null_mut`
Add bindings to CRYPTO_memcmp

This should help other projects use a constant-time memory comparison.
Merge pull request #61 from alexcrichton/memcmp

Add bindings to CRYPTO_memcmp
User-provided data in verify
Simpler setter for verify with data

There is no need in wrapping function in option as there is no
sense in providing data without function.