new tests added
DataSocket renamed to Worker
use a list to store data recieved in bytes

avoids creating loads of strings, which are allocated and going to be
collected and slow stuff up
added timeout on awaiter