Overhauled `lib/libsite'

Fixes:

    Source `~/.siterc' right after `etc/site.conf' to allow for
    user-defined settings to kick in at the earliest possible point.

    Fixed a long term bad usage of `"?$[*@]"?'; to allow for multiple
    tokens that each may or may not contain spaces, use "$@",
    otherwise to render all arguments as a single token with spaces,
    use "$*".

    Fixed PYTHONPATH for new site python module.

    Renamed `SITE_*' to `USER_*' for user-specific configuration.  The
    example siterc file amended to match.

    The cache directory used to create a cache/cache directory; this
    has been fixed.

    The `core:raise()' function bug (cpf failure) fixed.

Cleanup:

    The `~/.site/' area simplified, less but more meaningful symbolic
    links that pertain to the selected PROFILE.

    This change mandated amendments to:
        * bin/site
        * module/ldap
        * module/remote
        * module/util
        * module/net

    The 3-second sleep where an exception was raised has been removed,
    and instead - if the bash process is detected for trace.  If trace
    is active, then it quits where the sleep used to be which reduces
    the noise in the same way as the sleep did, and doesn't require
    the user to wait unnecessarily or press CTRL+Break.

New:

    Logging function added to core: `core:log'; added the default user
    log level for the new log function to the example configuration
    file supplied.  The makefile install/uninstall/purge targets have
    been updated for this new feature.

    Support for user environment checks in `:core:require'.

    New mongo module and a `lib/libjs' area for possible javascript
    modules (`lib/libjs/mongo' for mongo specifically).

    Added a new tutorial module (enabled).

    Better bash trace output via PS4.
Installation/Uninstallation work in the Makefiles

Also added jsontool, a command-line utility to json-enable bash
scripting.  This might turn out to be the new means of communication
betweek all site modules, instead of the ugly "\x07"-delimited textual
dumps.
Cleaned `module/ldap'

Reused common code and shortened function.

Updated usage strings where out-of-date.

Use the new `core:requires ENV' in order to allow the module to
auto-disable when the user has not set required environment variables.
Updated `module/net'

Allow for external fqdns by ending the hnh with a period; that means
that the `tldid' argument to `:net:portping' is now optional.  Even if
a period is not supplied, but there is no `tldid' defined, external is
assumed.

Speed things up by switching from nc to socat.
Updated `module/cpf': new EXCEPTION option added
Fixed `module/cpf': fixed exception printout bug
Updated `module/dns': gracefully handle a module import

Instead of dying when failing to import the netgroup module, just fail
gracefully by logging an error and moving on.
Updated `module/dns': merged subdomain config

The subdomain config which was in files of the form
`${SITE_ETC}/subdom-${tldid}.conf' are now simply inside the main user
configuration file.

The example `site.conf' file illustrates how this is done.
New `module/mongo': site interface to mongodb
... lib/libjs/mongo/host.js
... lib/libjs/mongo/dump.js
... lib/libjs/mongo/helper.js
New `module/hgd': support for mongo resolutions
Updated `module/hgd': `tldid' no longer mandatory
New `libexec/softlayer': interface to softlayer
Updated `share/unittest.csv'

Use external fqdn for testing the module `net'.

Added several missing hgd unit tests; this work is not yet complete.