DHT refactoring and support for storing arbitrary data with put

git-svn-id: https://svn.code.sf.net/p/libtorrent/code/trunk@9471 a83610d8-ad2a-0410-a6ab-fc0612d85776