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.