Two identical declarations of NodeId make it ambiguous for static tools such as IWYU which header should provide the symbol. The first commit moves the declaration into a header of its own.
The second commit fixes the #includes of the net and node/eviction modules, which the first commit touched, and adds the headers that other files previously received transitively from them.
A prerequisite for #36808.