Updated `libsite.sh': new, wildcard tldid, cleanup

Implemented the `not implemented' return code code, so it is now
communicated back to the user.

User defined variables now now first declared in the library, so that
if the user doesn't want to declare them, it doesn't cause unexpected
behaviours.

New `core:tld' function to handle resolving supplied tldid to a tld
safely.

Updated user sample/template file so that variables are no longer
declared as `libsite.sh' now does this already.  Also using the safety
belt for using variables we expect exist (${...?}).

Updated the tldid wildcard as per nima/site#33.

Moved XPLM configuration (interpreter versions) into common area for
both bash and make.

The var area is no longer put in `/var/tmp', but in the user's home
directory.

General cleanup and house-keeping.
Updated `module/dns': resolver, wildcard tldid, ut

The resolver search was non-exhaustive: The search for the matching
host resolution left out one case where the `hnh' is the `shn', but
the associated `fqdn' is `shn.dn'; i.e., there is no `usdn' in the
middle.  This has been fixed

Retrospective changes for the new wildcard tldid implemented; see
nima/site#33.

Allow for tldid strings, as opposed to single-character tldids.

Updated unit tests to match changes.
Updated `module/net': fix, wildcard tldid, ut

A bug introduced as a result of cleaning up the dns module was found
and squashed.

The tldid wildcard character was changed from `.' to `_' due to the
associated issues logged under nima/site#33.

Unit tests updated accordingly.
Updated `module/hgd': search, session names, clean, ut

The regex (/.../) and dor (.) search now not only look into the
`~/.ssh/known_hosts' file, but also at `getent hosts'.

Use the new `core:tld' function.

Don't allow bad session names when saving.

Don't allow duplicates in the results from the resolver.

Sort IP addresses intelligently.

Updated unit tests accordingly (wildcard tldid).
Updated `module/tunnel': cleanup, fix, ut
Updated `module/git': new function `remail', ut

New utility function to amend the email address of previous commits
using the existing email address as search.

Unit tests updated accordingly.
Updated `module/vault'

Added some warnings to the log when a secret id was queried that did
not exist.

General clean-up.
Updated `module/remote': sshproxy, connectivity, ut

New internal functions introduced to abstract ssh-proxy configuration
parsing since you can now specify an optional port for the ssh proxy
and the parsing is cluttering.

Moving away from using netcat, and using ssh's own `-W' flag for the
`ProxyCommand' option.

Since the tunnel use for ssh bounce boxes is merely to create a path
for the actual ssh connection, there is no point in having it use
secure/slow algorithms as it's a redundant doubling up.

The ssh `ProxyCommand' option changed to use the faster `arcfour'
cipher.

The ssh script had to be updated to reflext recent changes, but
ultimately no longer used - instead `site remote connect' is used as
it will honor the variables set by the user such as ssh proxies and
such naturally by doing so.

Updated `module/remote': dependencies on tmux and socat; and so
updated citm to also install tmux.

Reduced the default number of threads.

Unit tests updated.
New `libexec/ssh': rewrite

The existing python/paramiko ssh interface has been rewritten in ruby
with net-ssh and friends.  Seems to be a little more reliable and less
annoying to use.

Also the python init file no longer needs to do any magic as pyenv has
since been introduced and handles all the work.
Updated `share/unit/citm': dependency installation

The code for calculating what to install for each module is much
simpler now, a little more elegant, but more importantly - easier
to maintain.
Overhauled `module/xplm'

The installer no longer handles XPLM virtual environments, as this is
an optional feature offered by site, and slows the installer
significantly.  The XPLM modules handles this itself now.

The `xplm.conf' file has been removed.

New functions to more closely interact with the various virtualenv
frameworks.

General cleanup.
Updated `module/xplm.sh': new `run' function
Unit test `xplm' added: nima/site#34
Updated `README.md': added rb, py, pl, and xplm

The `.travis.yml' has been updated to know about (but ignore failure
of (for now)) the new modules, since unit-testing is incomplete.
Updated `module/ldap': retro, fix

Retrospective:

    Much has changed since this module was last tested, and this
    commit get this module re-aligned with what is current.

Fix:

    The `ldap:search' public function didn't format the output
    appropriately, leaving in the `|||' delimeters for multi-attribute
    search results.  This has been fixed.
Updated `module/ng': retrospective updates

Much has changed since this module was last tested, and this commit
get this module re-aligned with what is current.

Use the `core:log' function in private/internal functions instead of
producing output to stderr.
Updated `module/mongo'