Tidy up split_commas function and use it in Server

Conflicts:
	src/ripple/server/impl/ServerHandlerImp.cpp
Accept generic arguments in ci_equal
[WIP] Split TMHello functions out
[FOLD] tidy up names
Peer receive HTTP Upgrade request
[FOLD] TMHello processing
[FOLD] Change Overlay::add and PeerImp::run
[FOLD] More TMHello work
[FOLD] TMHello state machine for server role
[FOLD] close the TMHello handshake loop
[FOLD] Use rfc2616::parse_csv
Remove obsolete peer_protocol_detector
[FOLD] overlay/README.md
[FOLD] Fix out-of-order initialization
Add support for protocol version parsing
[FOLD] Review comments:
* Don't check string lengths - just try conversion.
* Sort protocols low to high
* Avoid copies
[FOLD] Optional: static_cast instead of explicit ctor call
Tidy up BuildInfo and rename to ProtcolVersion
Connect-As Peer only, tidy up some parsing code
[FOLD] tidy up