In case the parent directory of Caskroom is writable for the user, we
don't need to use `sudo` to execute commands.
Make a generic method to run commands that has an option to switch sudo
so that we can run commands with and without sudo.
Relatively old code in Hbc::Caskroom recursively changes the ownership
of the directory where the Caskroom directory exists, that changes
entire files in /usr/local to user:staff if Homebrew setup with default
configuration.
This is really dangerous because it's easy to trigger (just simply type
`brew cask something` by following some installation documentation.)
This patch removes entire `chown` with -R option and make the logic
simply creating Caskroom directory with default Homebrew directories
ownership and permission.