Adding ssh known hosts addon

so that folks can whitelist their own hostnames or ip addresses in
order to allow for fetching dependencies over ssh from more than
just github.com, gist.github.com, and ssh.github.com
Using ssh-keyscan a bit more robustly

and disabling tests for now
Giving up on doing ssh-keyscan of resolved ip addrs

because we don't currently have dig installed, and... doing so
should not be necessary (?)
Reinstating specs for ssh known host addon
Short-circuiting if config is empty

so that the fold doesn't show up, etc.
Merge pull request #321 from travis-ci/db-feature-accept-ssh-known-hosts

ssh known hosts addon
do not explode if config[:addons] is an array
make sure Data::Var#secure? returns true/false
Disable spec failing because of case insensitivity on Mac OSX

I am not sure how this spec ever passed.

Apparently `[ -f Requirements.txt]` always matches on Mac OSX (case
insensitive file system), even if only `requirements.txt` is present.
Therefor this spec will always fail because the bash script runs the
first branch of the `if` statement, not the second one.
Refactor towards sexp changes

Some refactorings and cleanup in order to work towards re-applying
the sexp changes.

This mostly makes all `Build::Script` implementations use
`sh.[dsl_method]` and stops including `Dsl` to `Build::Script`. Instead
`sh` will always be the current `Shell::Node`.
move secure var obfuscation to the dsl
coverity_scan addon (does not have any tests)
firefox addon
sauce_connect addon
android script
C script
clojure script
cpp script
erlang script
go script