handle SIGHASH_SINGLE in signature_hash_for_input

  with SIGHASH_SINGLE added, sign_input_signature now supports all hash_types.

  fun note: 7208e5edf525f04e705fb3390194e316205b8f995c8c9fcd8c6093abe04fa27d is
  actually hash_type: SIGHASH_SINGLE|SIGHASH_ANYONECANPAY => 131
Protocol::VERSION = 60002
check block_timestamp before p2sh (BIP 0016) processing
Bitcoin::Protocol::Parser handle notfound message

  https://github.com/bitcoin/bitcoin/blob/0e2e4fdf27dff95d5a6663ccf770d39451848f84/src/main.cpp#L3339

    // Let the peer know that we didn't find what it asked for, so it doesn't
    // have to wait around forever. Currently only SPV clients actually care
    // about this message: it's needed when they are recursively walking the
    // dependencies of relevant unconfirmed transactions. SPV clients want to
    // do that because they want to know about (and store and rebroadcast and
    // risk analyze) the dependencies of transactions relevant to them, without
    // having to download the entire memory pool.
    pfrom->PushMessage("notfound", vNotFound);
Bitcoin::Protocol::TxIn#add_signature_pubkey_script
Bitcoinn::Protocol::TxOut#value_to_address raise error if to_address_script failed.
CommandHandler: fix total block estimation when no peers connected