Transform gmx_mdoutf to gmx::MdrunOutputManager
First step in making an encapsulated class in the gmx namespace, principally so that we can have a proper constructor for what is now the Impl class so we can own C++ objects there.
Used std::optional for some appropriate data members.
trajectory_writing.h was including mdoutf.h when it did not need to, which was causing some of the files that depend on it to be missing includes that they should have had, and which they now have.