Force the script to run with bash (not sh)

since the generated script(s) kinda assume bash rather than dash, as is
the case on *buntu.  Also saving scripts in ~/.travis/.build by default,
but only for forensic purposes, not using as a cache or whatever.
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.