Improves interfaces to allow use in 3rd party code.
Uses std::unique_ptr for the record_filter_func_t vector and for the input file in record_file_reader_t. Adjusts record_filter_launcher and record_filter_unit_tests to pass unique_ptrs now.
Make input_entry_count_ and output_entry_count_ protected to let them be accessed by derived classes.
Separates out the cache_filter implementation details into a cpp file.
Adds the drcachesim/simulator directory to includes.
Issue: #5675