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
Better error handling in cert generation

Now it should correctly free all resources in case
of failure.
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