Tidy up includes:
* Replace boost with std equivalents:
  - bind, ref, cref, function, placeholders
* More "include what you use"
* Remove unnecessary includes
Remove ScopedPointer, ContainerDeletePolicy
Tidy up basics module:
* Move directory up
* Remove unity includes and "include what you use"
Tidy up overlay declarations

Conflicts:
	src/ripple/module/app/main/Application.cpp
	src/ripple/module/app/misc/NetworkOPs.cpp
	src/ripple/module/app/peers/PeerSet.cpp
Use strand::running_in_this_thread instead of bool
Move overlay up one directory

Conflicts:
	src/ripple/module/app/main/Application.cpp
	src/ripple/module/app/misc/NetworkOPs.cpp
	src/ripple/module/app/peers/PeerSet.cpp
	src/ripple/overlay/impl/PeerDoor.cpp
Remove unused protocol message types:
* mtACCOUNT
* mtCONTACT
* mtERROR
* mtGET_ACCOUNT
* mtGET_CONTACTS
* mtGET_VALIDATIONS
* mtSEARCH_TRANSACTION
* mtUNUSED_FIELD
Update README.md
Add abstract_protocol_handler, message_stream