modular: demonstrate statically-linked modules

Closely mirrors the shared library example.
modular: add include guards
flow control: squash excessive directories

Consolidate five Makefiles into one and make directories
shallower, at the expense of a more complex Makefile.

We retain the simplest Makefiles in the introduction.
preprocessor: split out #define macros and typedefs

It is best to introduce one concept at a time.
introduction: clarify Makefile usage

"use the Makefile" is not explicit. Tell users how to build
and clean projects.