Added a base class and overhauled venuesearch to use the base class.
Merge branch 'VenueSearch'