Thinned-out `share/unittest.csv'

This file now only contains core module unit tests as user module
unit-tests will be segregated into a completely new and isolated place
in the next release.
New `lib/core/git': gource(), docstring

New mostly useless function added for fun:

    site:core:git.gource()
New `lib/core/util': gpg, undelimit, docstring

New:

    Added module docstring.

    New set of GPG functions to get new site users set up if they
    don't already have GPG keys/configs, etc.

    New function `site:core:util.undelimit()'
Updated `lib/core/cpf': new @hgd and @fail entries
Overhaul `live/core/hgd': new, cleanup

Overhaul:

    * Overhauled so all non-public functions take a new mandatory
      argument for `tldid'.

New:

    * A new syntax for searching `~/.known_hosts'; the old `.'
      syntax is still there, but now there is a `/<regex>/'
      syntax which is much more powerful.

    * New function for renaming an existing HGD.

    * You can now optionally leave out the outer most `|(...)',
      and one will be assumed.

Cleanup:

    * Rearranged functions into more sensible shape.

    * Small cleanup and cosmetic changes made along the way.
New `etc/site.conf': caching

It is now possible to cache functions, obviously the symantics of each
set of functions must be considered before deciding which functions
would benefit from caching, and which will not.
New `lib/core/dns': caching, sd(), retro (hgd)

New:

    * The main dns function that is called by almost all other dns
      functions is now cache-enabled.

    * New public/private function pair for retrieving just the
      subdomain portion of a host: `site:core:dns.sd()'.

    * Warn on multiple matches on fqdn calls.
Updated `lib/core/ng': caching, cosmetic, fix

Cache-enabled an internal and a private function.

Updated the summary output to be a little prettier.

A small but important bug fix.
Updated `README.devel': caching, shflags
Updated `share/template': caching

Update the template file with example of how to cache-enable a
function.
New `lib/core/remote': copy(), fix, retro (hgd)

New public function to interface the already available internal
function.  Note that as part of doing this, the argument list of
the internal function has been slightly simplified, and so it needs to
be amended in all callers.

Fixed a small but important bug with how rcmd array was (incorrectly)
checked.

Retrospective work based on the recent hgd overhaul.

Other small cleanup work.
Overhauled main site engine code and configuration

The `etc/core/site.conf' contained much more than `configuration'
data, which conflicts with the generally accepted usage of what
goes under `etc', and so this commit has cleaned this mess up by
splitting this file into either:

    `etc/site.conf' - for configuration data
    `lib/core/site' - for the actual site engine code

Other than the split, there are no other changes introduced in this
commit.
New `bin/ssh': ssh helper script

This script does nothing more than provide a convenient replacement
for ssh, and `site remote connect'.  Use the symbolic links created
instead of ssh, and site will take care of the things like resolving
short hostnames, routing via ssh proxies, etc.

The Makefile has been updated to create required symbolic links.

Finally, the ssh script uses the newly implemented global flag for
caching, so that dns lookups a quick even when user provides short
hostnames.
Updated BUGS
Updated `lib/core/ldap': rename, fix, new

New test for verification netgroups nisNetgroupTriple tuples, to
check for correct, warning, and erroneous data (Josh Roberts).

The `ping' function is now called `checksum', and taks an optional
list of two or more indexes into the configured LDAP hosts array,
which is a site-specific configuration.

This function now also compares netgroups (rather than just users),
however there is some serious hard-coding going on at the moment.

Fixed a bug with the public ldap search which would only return one
entry; now it returns all matches, separated by blank lines.
Update `share/siterc.example' to match latest changes
Split `lib/core/unit': split in two

The static unit-tests have been carved out, and now we have:

    lib/core/unit - for the dynamic code
    share/unittest-static.sh - for the static code
Removed: `ldap:ngldif()'

This belongs to somewhere more appropriate: in a `doc' module.
Fixed `lib/core/hgd': bugs, clean

Small bug fix with (not) quoting of a variable, and added minor
cleanup and documentation.
Updated `lib/core/remote': new, fix

New:
    ::remote:eval:tmux()
    remote:connect() split up into public and private (new)

Fix:
    Added required python module for `remote:mon'