Remove limit parameter from PBD::find_files_matching_regex

This limit was not used or documented. The same functionality can be
performed when iterating through the results.
Reimplement PBD::find_files_matching_filter using SearchPath and get_directory_contents
Change PBD::find_files_matching_regex and PBD::find_files_matching_filter to take a Searchpath
Add new function PBD::find_files_matching_pattern

This new function is intended to replace the three existing
PBD::find_matching_files_* functions.

The order of parameters matches find_files_matching_regex and
find_files_matching_filter
Add a variation of PBD::find_files_matching_pattern for convenience
Use PBD::find_files_matching_pattern instead of other variations
Rename PBD::find_file_in_search_path to just PBD::find_file

saves a bit of typing and not necessary if you look at how it is used.
Reimplement PBD::clear_dir using PBD::get_directory_contents
Add remove_directory_internal function and use it in PBD::clear_directory and PBD::remove_directory
Move functions in pbd/clear_dir.h/cc into pbd/file_utils.h/cc
Change formatting of DEBUG_TRACE calls to match style guide
Remove reference to strtok_r now that it isn't used
Add some debug output in file_utils.cc
Add function to file_utils intended to be used internally
Use run_functor_for_paths in PBD::find_files_matching_filter
Add function PBD::find_paths_matching_filter
Fix finding of bundled LV2 plugins
Use run_functor_for_paths in PBD::find_files_matching_pattern
Rename PBD::get_directory_contents to PBD::get_paths

shorter name and change order of parameters to match other functions
Rename PBD::get_files_in_directory to just PBD::get_files, change parameter order and fix docs