Lifted common stuff out of MethodTests

MethodTests had a bunch of infrastructure that is going to be useful
elsewhere.  So pulled those classes out to their own files.