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.

Removed ssh proxy configuration settings, this is now expected to be
handled via the users' ssh configuration.

SSH options are down to the minimum, as the new idea is to leverage
from the site ssh configuration files instead.

Updated examples, adding a new sample ssh configuration for handling
ssh proxy/jump-boxing, and a more complete set of ldap options.

The triple-character delimiter `|||' was troublesome in some edge
cases, and was hence updated to another global delimiter.
`SITE_DELIM' was used up, so we chose `SITE_DELOM'.  It should only
ever be used when `SITE_DELIM' is also used; hopefully 2 will be
enough.

SSH options now kept here (instead of remote), since other modules on
rare occations may need to call ssh directly, and also since the new
ssh config has been introduced, most options in this variable should
be migrated there anyway.

Don't do an extra module import just to see if it works, as this is
too slow a process.  Just go for it, and hope that the modules are in
good shape.

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': new, fix, wildcard tldid, ut

New helper function to fix ip/subnet declarations by zeroing out the
host bits if not already zeroed.

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.

The deprecated user ssh proxy code has been commented out/disabled.
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

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.

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

SSH Proxy:

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

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

    After all that, decided to just remove/bypass ssh-proxy code, and
    let the user define ssh connectivity details via a new optional
    `ssh.conf' file.  This also means that the username is no longer
    supplied to the ruby/python script writer; allowing more complex
    setups via the same `ssh.conf' file.  See the example `ssh.conf'
    file.

    The ssh configuration options removed, as they are now defined in
    `libsite.sh'.

Don't force a resolution on `remote:connect', instead just go for it
and fail if it doesn't resolve.  To have it do the resolution work
(slow), use the new `-r' flag.

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.

The environment variable `SUDO' is not used to determine if the
command is to be executed via sudo or not.  The value of this
environment variable is the secret ID with which the vault will be
queried.
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, new, 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.

New:

    `host' and `subnet' support added.

    `netgroup' code implemented for `:ldap:add'.

    Log errors encountered in `:ldap:add'.
Updated `module/ng': retrospective updates, new

Retro:

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

    The `|||' delimeter was replaced with the new `SITE_DELOM'
    variable.

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

New:

    `ng:create', this is POC code.

Clean:

    General cleanup.
Updated `module/mongo'
Updated `module/gpg'
Updated `module/softlayer': retro
New `bin/profiler'

A WIP script to profile bash scripts, specifically - site/simbol.