Refactor peer handling

This is certainly not final (of course i will edit the commit message when rebasing)..


There is some potential for simplification in readyRead and some other Servent methods.. I'm just too tired for this now and I want some feedback for the overall design.... 

edit:
There are a few regressions currently:
Your own avatar isn't handled currently and hostnames for Zeroconf might be broken...