newlines in strings are invalid JSON

Although script_valid.json and script_invalid.json are loaded correctly by the
JSON interpreter used by bitcoin core, these same files are often used by other
libraries and do not necessarily load correctly due to the fact that newlines
contained inside strings are not valid and must instead use the escape
character \n. The files tx_valid.json and tx_invalid.json handle this
correctly, so I've changed the formatting in script_valid.json and
script_invalid.json to mirror those files.
Disable SSLv3 (in favor of TLS) for the RPC client and server.

TLS is subject to downgrade attacks when SSLv3 is available, and
 SSLv3 has vulnerabilities.

The popular solution is to disable SSLv3. On the web this breaks
 some tiny number of very old clients. While Bitcoin RPC shouldn't
 be exposed to the open Internet, it also shouldn't be exposed to
 really old SSL implementations, so it shouldn't be a major issue
 for us to disable SSLv3.

There is more information on the downgrade attacks and disabling
 SSLv3 at https://disablessl3.com/ .
Format paragraphs properly - count the space between words.
Add a new test for FormatParagraph (string longer than the default width).
[RPC] add rpc-test for http keep-alive (persistent connections)
Merge pull request #5435

a26bf47 Add a new test for FormatParagraph (string longer than the default width). (Pavel Janík)
83b81f6 Format paragraphs properly - count the space between words. (Pavel Janík)
Merge pull request #5436

11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections) (Jonas Schnelli)
Merge pull request #5434

683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server. (Gregory Maxwell)
[Qt] make PaymentServer::ipcParseCommandLine void

- the function only returned true, so make it void
- add a comment about payment request network detection
[Qt] add BIP70/BIP71 constants for all messages and mime types

- also rename current ones to match the new ones
- remove constant from guiconstant.h and add it to paymentserver.cpp
[Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine
[Qt] remove dup lock that is done in SetAddressBook()
[Qt] add BIP70 payment request size DoS protection for URIs

- current code only does this for payment request files, which are
  used on Mac
- also rename readPaymentRequest to readPaymentRequestFromFile, so it's
  obvious that function only handles payment request files and not URIs
- small logging changes in readPaymentRequestFromFile
[Qt] add BIP70 DoS protection test

- this test required to make readPaymentRequestFromFile() public in order
  to be able to is it in paymentservertests.cpp
[Qt] update paymentserver license and cleanup ordering
Merge pull request #5409

65b0328 newlines in strings are invalid JSON (Ryan X. Charles)
Merge pull request #5216

5ec654b [Qt] update paymentserver license and cleanup ordering (Philip Kaufmann)
4333e26 [Qt] add BIP70 DoS protection test (Philip Kaufmann)
31f8494 [Qt] add BIP70 payment request size DoS protection for URIs (Philip Kaufmann)
2284ccb [Qt] remove dup lock that is done in SetAddressBook() (Philip Kaufmann)
1ec753f [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine (Philip Kaufmann)
814429d [Qt] add BIP70/BIP71 constants for all messages and mime types (Philip Kaufmann)
b82695b [Qt] make PaymentServer::ipcParseCommandLine void (Philip Kaufmann)
Port of walletbackup.sh to Python.
Merge pull request #5427

1577df9 Port of walletbackup.sh to Python. (mrbandrews)
make all catch() arguments const

- I saw this on http://en.cppreference.com/w/cpp/language/try_catch and
  thought it would be a good idea
- also unify used format to better be able to search for exception
  uses in our codebase