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.
Add a dummy bn_is_zero C dependency to wrap BN_is_zero

This is necessary because on some architectures BN_is_zero
is a CPP macro, so trying to link against it in an `extern "C"`
block causes a linker error.

This also introduces a build command to Cargo to compile
the bn_is_zero wrapper.
Merge pull request #58 from vhbit/verify-data

User-provided data in verify
Merge pull request #64 from reem/fix/big-num-is-zero

Add a dummy bn_is_zero C dependency to wrap BN_is_zero