Verified fake for client implementations to test against

We need a low-overhead fake implementation for external clients (such as https://github.com/praekelt/go-http-api which already has its own fake implementation we can use as a starting point) to test against.

We don't want these external clients to require all of vumi-go just to get the test double, so it probably needs to live in a subproject with its own setup.py and such.

The functional tests for the real implementation also need to run against the fake implementation to verify that the behaviour is identical across the two.
Do these `TODO`s still need to stay around?