Clean up usage of Rx and add support for retrying HTTP 503

This was done for UDP only to introduce the concept of @Rule.  The same can be applied to all test servers.
What would be the performance penalty we pay for the concatMap() operation? Does it work if we use map() and throws an exception if status is 503?