Speed up RNG with `haveged': entropy on steroids
Cleanup `extern': closes nima/site#26
Updated `.travis.yml': enhance, fix

Enhance:

    Stronger integration between travis and citm script.

Fixes:

    Fixed `branches.only' regex.
Multi-profile support; closes nima/site#28

It is now possible to have and switch between multiple profiles;
SITE_PROFILE is no longer used, instead a user utility (bin/activate)
has been introduced which allows you to create and switch between
various profiles.

In addition to this, the profile area has been moved out of the
site-specific VCS space and into `~/.site/profiles.d/'.

General house-keeping in `libsite.sh'.
Fixed `module/net'
Updated `module/vault': fix, enhanced
Updated `tests/remote'

Gracefully handle remote:copy failures for now (for whatever reason,
the test amended fails intermittently on Travic-CI).
New `module/xplm': closes nima/site#25

New external programming language module manager; supporting Python,
Ruby, Perl.
Updated `module/softlayer': made xplm-aware
Cleanup: code folds, variables; closes nima/site#21

Cleaned up the code presentation and folds, and changed all global
variables to force-check themselves; for example `${GLOBAL_VAR?}'.
Overhauled `module/xplm': pyenv, rbenv, plenv

The Python, Ruby, and Perl module managers are complete

This means that `rbenv', or `python-virtualenv' are no longer
os-level package dependencies; instead the `xplm' module takes
responsibility of installing anything to do with Ruby, Perl, or
Python via their respective `*env' virtual environment utilities,
including the installation of those utilities themselves.
New: `module/rb', `module/py', `module/pl': 3 for 1

The xplm module has now been encapsulated by 3 essentially identical
files, one for Ruby, one for Python, and one for Perl.  All they do is
redirect calls to xplm, and ease useability.  This is an exceptional
situation in which public functions call public functions.
Cleanup: added `.sh' suffix; addresses nima/site#30
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.