Arbitrarily split up to make git bisect easier. These unnecessary #include's were found by combining an automated tool (which determined likely candidates) and some brain power (which decided whether the #include is also semantically superfluous).
This makes the issue of running out of openable pipes in the ProtocolServer process much less likely (but still possible).
Unlike the ones in LibCore, these only wrap an stdio FILE* (or an fd, which they close when destroyed).