test runner raises custom exception if given an invalid handler class

This updates the test runner to validate its given handler class
includes `Sanford::ServiceHandler`.  This main reason for this is
that if you forget to include, the default error is some cryptic
argument error.  This makes it so that instead of a cryptic error,
you get a very specific error that tells you what the problem is.

I've only added this logic to the test runner to not add the overhead
of this check to every live request.
Merge pull request #87 from redding/kr-test-runner

test runner raises custom exception if given an invalid handler class
test runner now serializes response data

This makes for a more robust test.  It will alert devs to serialization
errors in their tests.

This is useful b/c certain versions of BSON error on certain data
types (like `Date` and `DateTime`).  This means your tests can not
only validate the response data itself, but that it will also
serialize.