Do all block index writes in a batch
Add /opt/local/include/db48 only if it exists.
Move SendMoney() to rpcwallet.cpp.
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.
Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount.
No return at the end of void function.
Make several small string fixes in linearize-data.py

- Add a space after the fixed string prepended to file names when input or
  output file changes
- Clarify the error message when the genesis block is not found in the
  hash list (...why do we have this at all?)
Remove genesis block hash from error
[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)
contrib: show pull # in prompt for github-merge script
Port of walletbackup.sh to Python.
Merge pull request #5427

1577df9 Port of walletbackup.sh to Python. (mrbandrews)
Merge pull request #5449

6e6a36c contrib: show pull # in prompt for github-merge script (Wladimir J. van der Laan)