Implement Socket::receive<T> and refactor Socket::receiveAck

Bug: 162032964
Bug: 161389935
Test: canhalctrl up test virtual vcan3
Change-Id: I8bd351cec0d484ee4be8a40908476194958afcb1
6 files changed