Setting file encoding to ascii-8bit (for ruby 2.0.0)

The explicit specification of the file encoding prepares the files for a
migration to ruby 2.0.0. It does not break support for ruby versions
prior 2.0.0.
adjust usage of mocks to changes in MiniTest
cleanup protocol/block spec
Block.from_json: check block hash and merkle root
specs for Node command/monitor API
make specs work with simplecov again
rename Builder methods to avoid name clashes
update documentation
create unsigned tx and remember sig_hash for each input

allows the wallet to create transactions spending outputs for which
we don't have the private key, so we can't sign them.
instead, remember the signature hash that needs to be signed, so
they can easily be signed later.
#create_tx and #assemble_tx commands

allows for easy creation of transactions without parsing any bitcoin-specific things
and without the need to reveal the privatekey to the node
Adding 'Compatible with...' section to README.rdoc
fix command_api_spec when SimpleCov isn't installed

  also workaround this warning:

    command_api_spec.rb:35: warning: already initialized constant RULES
require bacon 1.2.0 because 1.1.0 stopped working with new tests
comment on var_int
var_int: change wording and link to wiki
remove unused DNS_Seed, its in Bitcoin::NETWORKS hash now
fix Tx#signature_hash_for_input for SIGHASH_SINGLE edge case

  https://bitcointalk.org/index.php?topic=260595.0

  "
    I also forked webbtc.com on mainnet today with transaction 315ac7d4c26d69668129cc352851d9389b4a6868f1509c6c8b66bead11e2619f It has two inputs, both using SIGHHASH_SINGLE, and only one output. SignatureHash() in script.cpp has the following code:

    if (nOut >= txTmp.vout.size())
    {
      printf("ERROR: SignatureHash() : nOut=%d out of range\n", nOut);
      return 1;
    }

    The thing is, that's not actually an error. SignatureHash() returns the hash of the signature, and CheckSig() doesn't check the return code, so it acts as though the hash the signature signed was 0000000000000000000000000000000000000000000000000000000000000001 You can create a signature for that, and it works just fine and the transaction is considered valid.
  "
Update litecoin seeds and checkpoints to match reference 0.8.x
pass the pubkey needed to sign along with the sig_hash
elaborate NODE documentation