Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks
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
Add default arguments to match those in PathScanner::operator()
Remove unused header includes
Replace all use of PathScanner with equivalent functions from pbd/file_utils.h
Remove PathScanner class from libpbd
Merge branch 'pathscanner-refactor' of https://github.com/mojofunk/ardour into cairocanvas