feat(sauce-connect): update Sauce Connect addon to 4.0

Fix travis-ci/travis-ci#2019.
shellescape the service name
change around the order of things a little
a little tweaking
move the postgres add-on to run after setup

but before paranoid mode
not happy with the naming, but getting there
correct a spec
need to check for the const on the class, not the instance
allow for hostnames and postgres to be sudo safe

also change REQUIRES_SUPER_USER to SUPER_USER_SAFE
oops, its shellwords
fix soooo many spec
hosts: shellescaped output should not be quoted
hosts: change the other test to add the shellescape stuff
spec: change formatter to documentation
what the world needs now, is echos, sweet echos
let the services RUN
what's another echo between friends
shellescape the postgres version as well
Move directory cache setup to `setup` stage

The directory cache inserts some commands un-escaped from the config (mainly
when adding directories that should be cached). Instead of going through the
code and escaping them (I think they are unescaped so environment variables can
be used), I moved the directory cache setup to `setup`, which is after paranoid
mode is enabled, so these commands should be safe to run.
Shell escape all commands run before paranoid mode

In the case of the PostgreSQL command, the shell escaped code is taken outside
of the double quotes, since shell escaped code with Shellwords shouldn't be
placed inside of any quotes, single or double.