[Reviewer: Mike] More CDiv tests

This adds tests for:
* Diversion from unreachable users (408, 503 and 500 response codes)
* Media-specific call diversion rules
* Unconditional call forwarding

Tested by:
* running all the Call Diversion tests six times against my deployment. There were only two failures out of 132 tests (11 tests * 2 for TCP/UDP * 6 repeats) - both UDP, one when a 200 OK response got dropped in the network (see note below), one when a 181 either got lost or got delivered after a 180.
* running all the Call Diversion tests once against staging via Perimeta over TCP - these all passed

Bulking out the tests like this resulted in a lot of boilerplate, so I did some restructuring to reduce that. It would be good to get your opinion on whether this makes the tests cleaner or is a maintenance nightmare waiting to happen. It's all in its own commit, so can easily be backed out.

Note: I've got retransmission support in Quaff now that should stop some of our UDP test failures - I just need to release 0.8.0 and update our live tests.