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.
4 jobs for header-cleanup in 795 minutes and 56 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
failed #4797
amd64
job_clang_amd64

12:05:00

failed #4803
amd64
job_gcc_amd64

02:37:56

failed #4800
amd64
job_gcc_amd64

07:42:21

failed #4796
amd64
job_gcc_amd64

00:56:36

 
Name Stage Failure
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
failed
job_clang_amd64 Test The script exceeded the maximum execution time set for the job
build succeeded, 115 warnings.

Testing of doctests in the sources finished, look at the results in builds/quickstart.rst/output.txt.
/var/lib/gitlab-runner/builds/c098b1de/1/jaafar/graph-tool/doc/price.py:104: UserWarning: tight_layout: falling back to Agg renderer
tight_layout()

Session terminated, killing shell... ...killed.
WARNING: Timed out waiting for the build to finish
ERROR: Job failed: execution took longer than 12h0m0s seconds