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
Changes made to support 0.12.0-dev ( October 2, 2014 )
Clean up warnings
Make errors human readable

Change error messages from numeric codes to human readable strings. This makes debugging failures much easier.
Address CR comments and add a test
Fix error messages
Merge branch 'better-errors' of https://github.com/jroesch/rust-openssl into better-errors