Making brew commands work in non-pristine envs

I made the following changes:
1. Included golang. Who doesn't like go? :)
2. Set mac / linux scripts with executable perms
3. Added a graceful brew_install function that won't fail on
   already installed components
More sophisticated check for brew packages.

The goal here is to let me periodically update my stuff using the
generated script. The following changes were made:
1. Move brew_install to a mac scope only
2. `brew upgrade` errors out while `brew install` warns. I needed
    a better test for the two.
    (I hope to propose to the team soon a plan for including
     policy flags on upgrade/install issues)
3. Removed go
4. Added quotes
Fix brew install, use it for all components
Fix executable perms, use brew_install function everywhere