Initial commit to add libsecp256k1 support

Bitcoin Core will soon be replacing OpenSSL with https://github.com/bitcoin/secp256k1 for ECDSA. In fact it's already happened in master. The new library is more performant and natively consistent with [BIP62](https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki).

TODO:
- Create an ECDSA abstraction such that it's easy for a user to toggle between OpenSSL/libsecp256k1.
- Retrofit parts of bitcoin.rb and Bitcoin::Key to use the ECDSA abstraction.
- Add BIP32 and [contracthashtool](https://github.com/blockstream/contracthashtool) support.