[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.
For clarity, I suggest repeating the `require 'forwarder'` and `extend Forwarder` (the first is a no-op and the second _might_ also prevent some hilarious method resolution gotchas).