Use different UDP ports for different integration tests

This does two things

1. It uses different UDP ports for different integration tests
2. It subscribes to the SQS queue to make sure that's in place before the message is sent. If this isn't done, and the message is sent before SQS is listening to SNS, the message will be correctly silently dropped.