Remove member filter argument from PathScanner methods and use normal filter for regex

Also use regfree to free memory of compiled patterns
Add PathScanner::find_files_matching_regex and move regexp usage to one place
Remove PathScanner::run_scan and use PathScanner::run_scan_internal directly
Rename PathScanner::run_scan_internal to PathScanner::find_files_matching_filter
Remove unused methods in PathScanner

Now that these methods are only a few lines it doesn't make much sense
to keep them seeing as they are unused. There are also functions with
near identical functionality in pbd/file_utils.h
Move PathScanner::operator() into header
Move member functions from PathScanner to functions in pbd/file_utils.h

This allows us to remove PathScanner source file and keep PathScanner class
as header only until it is removed
Use pbd/file_utils.h instead of PathScanner in AUPlugin::find_presets
Add default arguments to match those in PathScanner::operator()
Use pbd/file_utils.h instead of PathScanner in LV2Plugin
Use pbd/file_utils.h instead of PathScanner in PannerManager
Use pbd/file_utils.h instead of PathScanner in PluginManager
Remove unused header include in session.cc
Use pbd/file_utils.h instead of PathScanner in session_state.cc
Remove unused header include in smf_source.cc
Remove unused header include in system_exec.cc
Use pbd/file_utils.h instead of PathScanner in template_utils.cc
Remove unused header include in VSTPlugin
Remove unused header include
Use pbd/file_utils.h instead of PathScanner in GenericMidiControlProtocol