Fix intermittently failing send test
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
HTTP support improvements:
* RFC2616 compliance
* Case insensitive equality, inequality operators for strings
* Improvements to message_parser
* Tidy up HTTP method enumeration
* boost::asio buffer helpers
HTTP handshake in peer protocol (RIPD-351):
* New I/O paths for client and server role
* New handshake_analyzer detects the peer protocol
* New basic_message class for parsing and storing HTTP messages
* Conditional compilation for selective feature enabling.