Add 'ppaml_tracer_init_from_env'

This new API function is similar to 'ppaml_tracer_init', but instead of
accepting the report base name as an argument, it pulls it from the
'PPAMLTRACER_TRACE_BASE' environment variable.  This is useful for users
who want to be able to vary the locations of trace reports but do not
want to build tracing into their configuration file / command-line
argument parsers.
Haskell: Fix documentation misspelling
Add Description field to pkg-config file

Without a Description field, pkg-config complains and won’t provide the
library flags for the package.
Haskell: Add 'withTracer''

'withTracer'' wraps 'ppaml_tracer_init_from_env' in the C library.
Java: Add 'EnvironmentConfiguredTracer'

Adding 'ppaml_tracer_init_from_env' (commit b9dfb8d0) makes the Java
code substantially more complicated, as it introduces a second mechanism
to construct 'Tracer's.  While I could simply provide two constructors
in the 'Tracer' class, this would make for an ugly and dangerous
implementation; after all, the life cycle of a tracer configured
explicitly is noticeably different from the life cycle of a tracer
configured by sourcing environment variables.  Instead, I’ve changed
'Tracer' to be an interface implemented by 'ExplicitlyConfiguredTracer'
and 'EnvironmentConfiguredTracer'.

This is an API-breaking change.
Racket: Make 'report-name-base' optional in calls to 'call-with-tracer'
Python: Make 'report_name_base' optional in calls to 'Tracer'
Python: Correct use of 'super'

I invoked 'super' incorrectly throughout the error-handling code in
ppamltracer-python; however, not testing those errors hid this issue
until now.