Updated unit-testing/citm/travis framework

Updated `.travis.yml': re-ordered and enabled all

    All primary modules have been enabled, and ordered as per
    dependency rather than anything else.  Instead of disabling them
    again for the next stable release, the incomplete modules have
    been added to the `allow_failures' list.

Updated `module/unit':

    Added awareness for the new `dot' notation defining the output
    format of the given function (for example `.csv', or `.json') -
    there slipped under the radar and never got tested since this new
    naming standard was introduced into site.

    Perform set-up of the CI/UT host, which effectively means you should
    never run this on your own machine.

Updated `examples/site.conf.eg':

    Added examples that align with the unit-testing out-of-the-box.

    Removed the `.' tldid, as this is now handled in implicitly.

Update `unit/citm': verbosity

    New function called `run' which all commands should be wrapped
    with; this way it will print out what it is going to do, so makes
    trouble-shooting from the CI output easier.
Updated `tests/tunnel-static.sh'

Scaffolding code no longer needed as it is handled by `module/unit'.
Overhauled `module/dns': rewritten from scratch
Added dns unit tests
Updated `module/remote': cleanup

Removed the cfrun function which was out-of-place, and moved some
general ssh options to the top of the file.
Added remote unit testing