Client: avoid usage of filter_struct

Enabled the JSON "convert_blessed" option and added a
Alien::Taco::Object::TO_JSON method to allow the client's
"_replace_objects" subroutine to be removed.  Pass a routine
to the JSON "filter_json_single_key_object" decoder which
matches Taco objects, replacing the "_interpret_objects"
subroutine.  The corresponding test script has been updated
as these subroutines can no longer be tested directly.

This commit addresses the problem that in some situations,
data passed to client functions could be modified by the
usage of filter_struct.
Server: make the module partly object-oriented

Use a JSON decoding filter to match Taco object references,
replacing the "_interpret_objects" subroutine.

Making the server object-oriented places this filter in the
object construction phase, making it accessible to the test
scripts.  It also does away with the need to have a list of
action handler subroutines.
Add integration tests

This commit adds two build actions, "tiperl" and "tipython",
named to avoid confusion with build actions starting "test".

The ti-perl directory contains tests which launch a Taco
server in Perl.  These tests add the blib/lib directory to
the Perl path and run the taco-perl script from the bin
directory, so that they can be run before installation.

The ti-python directory's tests depend on an existing installation
of a Python Taco client.