[Reviewer: Andy] Accept-Contact test suite

Builds on the refactoring reviewed in https://github.com/Metaswitch/clearwater-live-test/pull/64. This makes a few more changes (a common Endpoint base class for SIPpEndpoint and QuaffEndpoint, as a sensible place to do the instance_id calculations needed to make sure multiple bindings don't overwrite each other) and adds five tests of contact filtering function.
Does this fail "if I repeat a test we should get the same instance ID"?  What if we modify the test in the meantime (maybe re-arranging the endpoints or adding new ones)?