Split routing into byte and object sending

This change splits previously uniform classes which handled sending and
listening into two parts:
- Sending to socket address/Listening for byte arrays
- Sending to given CommAddress/Listening for CommMessages using previously
  mentioned byte sending classes and CommAddressResolver

Additionally a small refactoring was made to minimise number of threads used.

Change-Id: I150c03cc02eb38e80cb0ab69d3b0faac4f99d56b
Reviewed-on: http://naan.mimuw.edu.pl:8001/81
Tested-by: Nebulostore Nebulostore <nebulostore@gmail.com>
Reviewed-by: Szymon Matejczyk <smatejczyk@gmail.com>