[clang][modules-driver] Apply rule-of-five to CompilationGraph types (NFC) (#191430)
CompilationGraph owns all nodes and edges via `unique_ptr`, but exposes
pointers to the underlying objects. Make them non-movable to maintain
stable addresses.
Make them non-copyable since we don't want to copy `Command` objects
they hold or create duplicate root nodes.
Apply full rule-of-five to `CompilationGraph`.