[Reviewer: Alex] Ellis refactoring

I've done some refactoring of the live tests. Primarily, this:
* Gives a better conceptual separation between provisioning a line with Ellis and making calls over that line with Quaff/SIPp
* Makes skipping tests saner (and more composable)

The only two changes from the point of view of actually writing tests are:
* `add_quaff_public_identity` is now called `add_public_identity`
* To skip tests, you now create a TestDefinition and call `skip_unless_mmtel` and `skip_unless_pstn` at the start of the test, rather than creating a MMTelPSTNTestDefinition.