Rewrite manual_test using TAP

By having the test generate TAP output, we can piggyback on all the
excellent tools available for running and analyzing TAP tests.
Eventually, all the TAP-specific code should be factored out to its
own pack so that I can easily reuse it across projects.
Rearrange test files for 'gift test'

This lets me run all func tests by just typing 'gift test'.  I'd love
a way to hook into SWI-Prolog's make/0 and run_tests/0 commands to run
this automatically.  Unfortunately, I don't see a way to do that at
the moment.

That left me with a decision of using PlUnit or writing my own
TAP-based infrastructure.  TAP is far more advanced with some
excellent tools for generating HTML output of test results, running
tests in parallel, etc.  Going that route seemed like a win all
around.
Working TAP testing system

To create a test file, one imports library(tap) then defines a bunch
of predicates.  Each predicate is a test case whose name is its
description.  Failing test cases are handled too.

This makes it easy to define test cases with the syntactic overhead of
PlUnit and with all the conveniences of the TAP testing ecosystem.
This TAP code should be moved to a separate pack soon.
Move tests from PlUnit to TAP

I can now run all func's test with prove and generate nice HTML
output, store the results in a database, etc.  Thanks TAP community!