Improve build times through header removal and relocation

- Eliminate unused headers
- reduce dependencies among headers (slightly)

The include-what-you-use tool (IWYU) was used to analyze header
dependencies and recommend fixes; some additional manual work was
then performed.

Add missing include
2 jobs for header-cleanup in 221 minutes and 5 seconds (queued for 86 minutes and 42 seconds)
Status Job ID Name Coverage
  Test
failed #4817
amd64
job_clang_amd64

02:45:46

failed #4816
amd64
job_gcc_amd64

02:10:22

 
Name Stage Failure
failed
job_clang_amd64 Test
<doctest default[7]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
<doctest default[12]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
<doctest default[16]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
<doctest default[20]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
ERROR: Job failed: exit status 1
failed
job_gcc_amd64 Test
<doctest default[7]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
<doctest default[12]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
<doctest default[16]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
<doctest default[20]>:1: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()
ERROR: Job failed: exit status 1