Get rid of dead code in Storage::Backends::StoreBase

The getblocks_callback lambda that was given to the constructor was
never called from anywhere.
Create storage backends using a factory method

That makes the code more readable and easier to understand than calling
the dynamically defined methods using "send".
Do not send "addr" twice to clients sending "verack"

In order to handle peers that omit the "verack" message
 #complete_handshake is called both on "version" and "verack" messages.

Until now this method triggered an "addr" command to the peer
unconditionally, though, so proper clients received the message twice.
add contracthashtool utils

  credits: Andy Alness https://github.com/aalness/contracthashtool-ruby
Keep old store creation methods around as deprecated for now

A deprecation warning is shown when the old methods are used.
add missing contracthash.rb

  duh… sorry.
fix ContractHash#compute_data for p2sh type
Modified transaction signing to always generate low-S value DER signatures.