Remove rack test
Ref #19.
This change: * removes the direct dependency on rack/test * renames TestClient to RackTestClient, which has a runtime dependency on rack/test * introduces ClientBase, upon which new test clients can be built * add dsl methods for asserting on callback request * renames dsl methods to be more consistent