[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.
It only fails if you modify the test in the way you describe - but I think that's incredibly unlikely to cause problems, as Ellis now randomises number allocation, and the bindings will expire in five minutes. I think the benefits of being able to register multiple bindings outweigh that.