Use a case class for composed response functions.

This provides a working `==`, so that `(a ~> b == a ~> b)`

Fixes #260
Merge pull request #265 from unfiltered/composed_response_case

Use a case class for composed response functions.