This commit converts the build process from a hand-written Makefile
that works on Linux, FreeBSD, and macOS, to an automatically generated
Makefile managed by the autotools toolset.
This incldues:
* Add the compile, config.guess, config.sub, depcomp, install-sh, and
missing helper scripts that autotools requires to be shipped with
the package in order for configure to work.
* Rename Makefile to Makefile.am and restructure it for compatibility
with autotools and specifically with the stuff in our configure
script.
* Create the configure.ac source file which is turned into the
configure script.
* Rename Doxyfile to Doxyfile.in so that the source directories can be
substituted into it at configure time.
* Tweak .gitignore to ignore temporary and output files related to
autotools.
* Generate Makefile.in, aclocal.m4, and configure using `autoreconf`
and include them as checked-in source files.
While I can't fully document how autotools works here the basic
workflow is that when you need to make changes to the build, you
update Makefile.am and/or configure.ac as needed, run `autoreconf`,
and commit the changes you made as well as any resulting changes to
Makefile.in, aclocal.m4, and configure. Makefile should _not_ be
committed into the source tree; it should always be generated using
configure on the system where the build is being run.