t/Makefile: default SHELL_PATH to $(SHELL)

This should provide a more sensible default when /bin/sh is not a POSIX
shell.  On most systems there will not be any change.

Signed-off-by: John Keeping <john@keeping.me.uk>
t/Makefile: move "include config.mak" to the top

Since we're using "?=" to assign variables here, there's no reason to
keep the inclusion of config.mak away from the top of the file, where
it's slightly more obvious.

Signed-off-by: John Keeping <john@keeping.me.uk>
t/Makefile: output format improvements

Taking some inspiration from Git's t/Makefile, use Sharness'
aggregate-results.sh script to print a summary of the test results at
the end.  Also do a bit more cleanup after a successful test run,
regardless of how it's done, and print a header for each test.

Signed-off-by: John Keeping <john@keeping.me.uk>
t/Makefile: add DEFAULT_TEST_TARGET variable

This allows developers to choose a different target to be run by the
top-level "make test" target by adding a suitable variable to
config.mak.  For example, setting "DEFAULT_TEST_TARGET = prove" will
run the tests under prove by default.

Signed-off-by: John Keeping <john@keeping.me.uk>
.gitignore: add t/.prove

Signed-off-by: John Keeping <john@keeping.me.uk>
Merge branch 't-make-improvements'

Various improvements to the make infrastructure for tests.

* t-make-improvements:
  .gitignore: add t/.prove
  t/Makefile: add DEFAULT_TEST_TARGET variable
  t/Makefile: output format improvements
  t/Makefile: move "include config.mak" to the top
  t/Makefile: default SHELL_PATH to $(SHELL)
Makefile: add "clean" target

Signed-off-by: John Keeping <john@keeping.me.uk>
Merge branch 'make-clean'

Add a "clean" target to the makefile.

* make-clean:
  Makefile: add "clean" target