#1538 Use optional instead of unique_ptr for behaviour in FilesystemNS::Directory constructor
The pointer lead to uneven constructor calls: some were using pointers while other were using directly the enum. The latest is of course more satisfactory and may be achieved for all with std::optional.