[tools] Use 'Configure'd values for cover, gcov etc.

make_cover.pl used the code coverage commands directly in order to run the
programs cover, gcov, gcov2perl etc.  It should have been using the values
determined in the 'perl Configure.pl' step.  Now the configured values are
used instead of the bare program names.
[configure] 'cover_new' target replaces 'cover'

cover_new uses the tools/dev/make_cover.pl script to process the files
created from a coverage test run.  This is much more flexible and easier to
maintain than trying to get 'make' to do the right thing.

Also, the 'cover' target was running only the runcore tests and not the
standard test suite (a.k.a 'make test'), hence the output from 'make cover'
wasn't telling us what was being covered in 'make test', leading to
unexpected and confusing results (e.g. that extend_vtable wasn't being
tested at all).  The principle of least surprise suggests that 'make cover'
should run the same tests that 'make test' runs.
[configure] fullcover_new Makefile target should also consider FULLCOVER_DIRS

The 'fullcover_new' target only used the COVER_DIRS list of directories,
which comes from running the 'cover' target.  The 'fullcover_new' target now
considers the same list of directories as the 'fullcover' target, in order
to be consistent with it.
[configure] 'fullcover_new' make target replaces 'cover'

The 'fullcover_new' target reproduces the 'fullcover' target but uses
tools/dev/make_cover.pl to run the coverage tools (gcov, cover, etc.).  This
is much more flexible and easier to maintain than shell code within the
makefile.

Further, the old 'fullcover' target didn't make use of the predefined
variables set by 'perl Configure.pl', which make_cover.pl does.  Also, a
temporary directory is used by make_cover.pl for the coverage tools' output
which replaces the current behaviour of putting everything in the base build
directory.  Also, the old 'fullcover' target actually covered more files
than it was asked to and other files were repeatedly covered; this change
corrects this behaviour, however means that one has to be very explicit
about which directories need to be considered.
Merge pull request #960 from paultcochrane/ptc/cover_new_to_cover

Replace 'cover' make targets with 'cover_new' targets