Squashed 'src/leveldb/' changes from be1b0ff..936b461

936b461 Merge upstream LevelDB 1.13.
748539c LevelDB 1.13

git-subtree-dir: src/leveldb
git-subtree-split: 936b4613ea4551992e6096b1e05eeefc09a20e3b
Merge src/leveldb changes for LevelDB 1.13
improve wallet load time by removing duplicated calls to EC_KEY_check_key and adding a hash for vchPubKey/vchPrivKey entries in wallet.dat

backwards compatible with previous wallet.dat format
verify vchPubKey matches calculated public key unless fSkipCheck is set
Rename -tor to -onion to better reflect what it does.

I've seen users confused multiple times thinking they
 should be using -tor to set their tor proxy and then
 finding in horror that they were still connecting to
 the IPv4 internet.

Even Jeff guesses wrong about what the knob does, so
 I think we should rename it. This leaves the old
 knob working, we can pull it out completely in a
 later release.
Inline signature serializer

Instead of building a full copy of a CTransaction being signed, and
then modifying bits and pieces until its fits the form necessary
for computing the signature hash, use a wrapper serializer that
only serializes the necessary bits on-the-fly.

This makes it easier to see which data is actually being hash,
reduces load on the heap, and also marginally improves performances
(around 3-4us/sigcheck here). The performance improvements are much
larger for large transactions, though.

The old implementation of SignatureHash is moved to a unit tests,
to test whether the old and new algorithm result in the same value
for randomly-constructed transactions.
Added ping time measurement.
New RPC "ping" command to request ping.
Implemented "pong" message handler.
New "pingtime" field in getpeerinfo, to provide results to user.
New "pingwait" field, to show pings still in flight, to better see newly lagging peers.
sendcoinsentry: small clear() and setValue() changes

- clear(): clear all UI elements (for secure and insecure payments)
- setValue(): only modify UI elements, which need to be set (for secure
  or insecure payments)
sendcoinsdialog: display real failed address string

- display the real string (faulty address), which causes the valid address
  check to fail, instead of a stringified "nonsense" CBitcoinAddress
paymentserver: use own HTML-esc / add new header const

- make processPaymentRequest() use our own HTML-escaping function from
  GUIUtil
- make string "application/bitcoin-payment" a constant (below similar
  constant strings in the .cpp file)
don't touch addressbook when using secure payment-requests

- fixes #3006 by preventing addressbook changes when using
  secure payment-requests

sq
Refactor/encapsulate chain globals into a CChain class
Update michagogo's gitian pgp key, adding UIDs
Documentation Cleanup in /Doc

Added some help text, and bumped version numbers.

Added a Readable Index for /Contrib

Fixing /Contrib Index URLs

Revert Version Numbers.
comment explaining new wallet format for key/wkey entries
Merge pull request #2937

971bb3e Added ping time measurement. New RPC "ping" command to request ping. Implemented "pong" message handler. New "pingtime" field in getpeerinfo, to provide results to user. New "pingwait" field, to show pings still in flight, to better see newly lagging peers. (Josh Lehan)
Add network traffic graph
[doc] Add testnet hidden service port to the example tor config.

Seems like there are a lot of advertised testnet HS nodes that
don't actually work. Lack of the testnet port on the example
HS config might be one reason.
Merge pull request #3089 from gmaxwell/hsport

[doc] Add testnet hidden service port to the example tor config.
Merge pull request #2933 from sipa/leveldb113

Merge upstream LevelDB 1.13