Clear the acquiring ledger when shutting down NetworkOPs:
This solves a circular destruction problem on exit.
Change to the Application io_service:
* Simplified the implementation and removed class IoServicePool
* The io_service outlives the components of the Application
Remove spurious assert in ResolverAsioImpl
Fix Overlay stop on exit:
The stop sequence for Overlay had a race condition where autoconnect could
be called after close_all, resulting in a hang on exit. This resolves the
problem by putting the close and timer operations on a strand:
* Rename some Overlay members
* Put close on strand and tidy up members
* Use completion handler instead of coroutine for timer
* Use App io_service in PeerFinder
Fix race conditions closing HTTP I/O objects:
This fixes a case where stop can sometimes skip calling close on some
I/O objects or crash in a rare circumstance where a connection is in the
process of being torn down at the exact time the server is stopped. When
the acceptor receives errors, it logs the error and continues listening
instead of stopping.
Add bin/stop-test.js shutdown testing script:
This script launches rippled repeatedly and then issues a stop command
after a variable amount of time. This is to test the shutdown of the
application and catch errors.
Clean up Pathfinder.

* Restrict to 80-columns and other style cleanups.
* Make pathfinding a free function and hide the class Pathfinder.
* Split off unrelated utility functions into separate files.
Fix pathfinding with multiple issuers for one currency (RIPD-618).
In PathRequest, clear the LES sandbox before retrying pathfinding.
[FOLD] Small issues in pathfinding:
* Make old pathfinding support issuers as well
* Remove issuer account node if already implied
* Can't skip filtering if issuer is not sender
* Check for default path is wrong for issuer=sender
* Sanely handle optional issuer in new path finding#