Remove some include order dependencies

Add explicit #include statements to headers that need definitions from
other headers, instead of relying on the including code to include those
headers earlier.  This allows reordering and refactoring #include
statements without breaking the compilation in unrelated pieces of code.

This set of changes is sufficient to make things compile after applying
the WIP automatic include sorter with the default order; other ordering
may expose more such dependencies.

Change-Id: I52536bca8930f1c489b084327071f090eec8a445