Improve receiveMessages() error and interrupt handling

This message source is now implemented asynchronously, which is why
the `pollPeriod` parameter has been removed.