Enhance path search functions
Extracted common implementation functions based on compat::string_view
and simplified the uses of them. Some temporary strings are no longer
created. Added, updated, and corrected Doxygen. Removed comments about
dot and dot-dot special directories, as the code does not do anything
about them. Moved some naming in the direction of C++17
std::filesystem::path.
Added new tests to cover the changes. Used namespaces better in the
test file. Used reference data for the tests.
Eliminated getParentPathAndBasename as redundant.
Change-Id: I11a1a25a257da753ca83f5bdd09d06b11c76cec5