Improve the humanAccountID cache (RIPD-693)

Profiling indicated some performance issues coming from the
cache of 160-bit account IDs to base58 format. This replaces
the single cache with two caches and rotates out old
entries.
Improve hex conversion & parsing routines
Fix incorrect source issuer for XRP source
Stability bugfixes for online delete SHAMapStore:
The correct ledger age is necessary for checking health
status, and the previous behavior caused the online deletion process to
abort if the process took too long.

The tuning parameter added and the parameter whose default was modified both
minimize impact of SQL DELETE operations by decreasing the default batch size
for deletes and for increasing the backoff period between deletion batches.
These parameters decrease contention for the SQLite and I/O with the trade-off
of longer processing time for online delete. Online-delete is not a
time-critical function, so a little slowness in wall-clock time is not harmful.
Revert e4c9822d785 "Enable processor-specific optimizations when available:"
Whitespace: clean WebSockets to 80 columns.
Do not use path if path expansion fails
Make three ErrorCode functions generic.
Get rid of ripple::RPC::New namespace
Change Output to be a generic std::function.
Remove unused coroutine includes and types.
Simplify LedgerData.cpp.
Add a comment to ledger/Ledger.h.
Wrap Output in a coroutine that periodically yields.
Better interoperation between Json::Value and JsonObject.
* Generic functions to add entries to both object models.
* Add Json::Value into JsonObjects.
* Write Json::Value to string incrementally.
Allow the Ledger to generically output to both Json models.
New generic Ledger RPC handler.
Send output incrementally in StreamHandlerImp.
Refactor away RPCHandler::doRpcCommand
Refactor out a version of lookupLedger returning Status.