Improve packet send and result collecting API

Sadly, ~40 unit tests are now non-functional because
ConnectionUtils.createdMockedConnection is not yet able to mock the new
API call PacketCollector.nextResultOrThrow(), because of
PacketCollector's new Connection field. TODO: find a fix for this!