Amended `bin/ssh': persist on down hosts

If a host is not responding on port 22, then keep trying it until it
does - and only then make an ssh connection attempt.

This is now used in `::remote:tmux()' instead of the ssh binary
itself.
New `module/mongo': mongodb site module
New `module/softlayer'; updated `libexec/softlayer'

New site module that interfaces with `extern/softlayer'.

This module uses the newly introduced `libexec/softlayer', which has
also been updated in this patch:

    Added a programatic flag (variable) to enable/disable caching,
    and set that to false as softlayer API calls are not too costly.
New `module/gpg': new functions, update, fix, clean

New:

    To encapsulat the gpg executable, two new functions have been
    introduced:

        :gpg:encrypt()
        :gpg:decrypt()

Update:

    Hide `:gpg:kid()' into a private function as it no longer needs to
    be exposed to other modules.

Fix:

    Clean and fix of some minor issues.
New `module/vault':  split out from `module/util'

All functions relating to managing the secret vault have been moved
into a new dedicated module managing it called `vault'.

This new module is split out from util.  All direct calls to gpg have
also been replaced with calls to the new `:gpg:decrypt()' and
`:gpg:encrypt()' functions.

`g_GPG_KEY_PATH' is no more, and site will look for a GPG key based
on the active profile instead.  No more guess work.

Other modules that referenced `module/util' have been amended to
reference the new vault module instead:

    module/ldap
    module/remote

Finally, `libsite.sh' has been updated to enable the new `vault'
module.
Added `module/util' unit tests: closes nima/site#4

Also amened `dynamic.csv' to address code movement from `util' to
`vault'.  Util is now significantly simpler, and unit testing is
complete.
Updated `README.md': Travic-CI links updated
Updated `share/module/template': more useful

The sample code contained here is now designed to be of a "copy/paste"
nature for writing new module functions, rather than teach - that is
now the responsibility of the recent (and incomplete) `tutorial' module.
... lib/libsh/libsite/libsite.sh
... module/ldap
... share/examples/siterc.eg
... share/examples/siterc.eg