Swarm: redo code for gitserver
This commit is ugly
TODO
-
Remove ioPool and only use callbacks -
Support shutdown -
Multiple want and improve negotiation -
Recheck answerToWantOrder(); -
[ ] Support depth request (https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt#L256)