Use std::filesystem instead of std::experimental

std::filesystem is fully supported in c++17, no need to keep
the experimental around anymore.

Note that the path append behavior changed, so appending an
absolute path replaces the path instead of appending, therefore
need to use .relative_path().

Tested: Did a code update on witherspoon and verified the sync
        path was correct.

Change-Id: Iffe42cf0ebd5537920c8fdbf9edcec640ab9c724
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/sync_manager.cpp b/sync_manager.cpp
index 48d773b..d44a81b 100644
--- a/sync_manager.cpp
+++ b/sync_manager.cpp
@@ -6,7 +6,7 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <phosphor-logging/log.hpp>
 
 namespace phosphor
@@ -17,7 +17,7 @@
 {
 
 using namespace phosphor::logging;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 int Sync::processEntry(int mask, const fs::path& entryPath)
 {
@@ -26,7 +26,8 @@
 
     if (pid == 0)
     {
-        fs::path dst(ALT_RWFS / entryPath);
+        fs::path dst(ALT_RWFS);
+        dst /= entryPath.relative_path();
 
         // rsync needs an additional --delete argument to handle file deletions
         // so need to differentiate between the different file events.