Removed PatternDrivenAnalysis as a superclass of TestPattern

Changing PatternDrivenAnalysis from a Parameterized class to a
ParameterizedFunction class was causing instantiation issues and
its present_pattern method was duplicating code in pattern_present
anyway.