Merge pull request #86 from redding/kr-cleanups

reorganizations and cleanups to the lib code and test suite
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.