Websocket: Log on_close/on_fail/on_open calls. Ping out connections. Improve ping logic
Pathfinding improvements:
* Make each path request track whether it needs updating
* Improve new request handling, reverse order for processing requests
* Break to handle new requests immediately.
* Make mPathFindThread an integer rather than a bool. Allow two threads.
* For old pathfinding, if the ledger is unspecified, use the PathRequest's RippleLineCache
* Log new pathfinding request latencies.
* Suspend processing requests if server is backed up
Concurrent SHAMap code
Use shared lock for SHAMap itself and concurrent map for nodes
Ledger acquire fixes/cleanups/logging.
* Inbound ledger and SHAMapAddNode cleanup.
* Log acquire stats.
* Fix progress logic.
* Remove ledgers we no longer need to acquire
* Stash stale data in our fetch pack, it can still be useful
On websocket ping out, close abnormally