Stop finding paths when enough are found (RIPD-156)
Pathfinder cleanups, more efficient 'd' handling (RIPD-156)
Remove some dead SHAMapMissingNode code
Check for payment increments that make no progress. (RIPD-374)
Add more documentation of ledger acquisition (RIPD-373)

Capturing information from a seminar on the topic into the source tree.
Simplify locking and move a typedef.

* Make DatabaseCon's lock private and expose a scoped lock_guard.
* Get rid of DeprecatedRecursiveMutex and DeprecatedScopedLock entirely.
* Move CancelCallback to Job where it logically belongs.
Properly order warning suppression flags during compile
Fix build warnings and .gitignore.

* Comment out unused local function for both clang and g++.
* Get rid of numerous Boost warnings for clang.
* Remove some unused local variables.
* Put TAGS into the .gitignore.
Make bind_handler variadic ctor explicit
Add HTTPHeaders::build_map
Enable asynchronous handling of HTTP-RPC (RIPD-390)
* Activate async code path
* Tidy up HTTP server code
* Use shared_ptr in HTTP server
* Remove check for unspecified IP
* Remove hairtrigger
* Fix missing HTTP authorization check
* Fix multisocket flags in RPC-HTTP server
* Fix authorization failure when no credentials required
* Addresses RIPD-159, RIPD-161, RIPD-390