Modify MasterTemplateBuilder - extract base class

1. Moved most of MasterTemplateBuilder into a BaseMasterTemplateBuilder
class.
Intention: Allow derived test classes to test a subset of
ListingMatcherTemplates.

2. Added abstract method to generate a list of ListingMatcherTemplate
instances.

3. Pass in a list of methods to a list comprehension to generate the
ListingMatcherTemplates. Each must be an instance method taking no
parameters and returing a ListingMatcherTemplate.

4. The derived MastTemplateBuilder overrides get_listing_templates to
pass the full set of ListingTemplate methods to
generate_listing_templates_from_methods.