Put common LaTeX git ignore patterns in "doc" dir

This means we don't have duplicate ignore patterns in each of the LaTeX
directories.
Use pdflatex to generate list of input sources

This adds the "-recorder" argument to the invocation of pdflatex so that
it generates a .fls which records (amongst other things) *all* input
files which are read. We can use this to derive an accurate list of
dependencies without relying on each document's Makefile to provide a
list of sources.

If no .fls file exists, we simply assume that the target .tex file is
the only dependency.
Makefile.latex: (wc|cite|lint) depend on PDF

This makes $(DocumentPDF) a prerequisite for generating word counts,
checking citation accuracies, or running the lint checks, since we
require up to date .fls or .aux files for each. These .fls and .aux
files are generated by compiling the PDF.

The reason for the shell conditional instead of simply adding
$(DocumentPDF) to the list of prerequisites is that we must defer
expansion of the $(DocumentSources) variable until $(DocumentPDF) has
been compiled, so that we can ensure that the .fls and .aux files have
been generated.
Makefile.latex: PDF depends on *all* input files

This changes the prerequisites for the $(DocumentPDF) file so that it
depends on *all* input files, not just the local .tex sources.
Makefile.latex: Add a one line comment
proposal: References tidy-up
Makefile.latex: Use exact file name for CLEANFILES
Makefile.latex: Cache (wc|cite|lint) results

This patch enables the results of word counts, citation checks, and
style chacks to be cached for quick retrieval if none of the .tex
dependencies have been modified.