CI: travis-ci: speed up osx build by running brew scripted, switch to latest osx image

we used to use travis-ci brew plugin to install "socat", travis-ci brew
plugin works predictable in "all update" mode. sometimes it might take 12 minutes.

let us improve developer velocity by running brew from command line. It takes 2 minutes
instead of 12 minutes

latest osx seems to have more stable brew, let us switch to latest osx available.
osx images list: https://docs.travis-ci.com/user/reference/osx/#macos-version
diff --git a/.travis.yml b/.travis.yml
index 39b52ce..cf227b3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,9 +22,6 @@
   apt:
     update: true
     packages: [ liblua5.3-dev, libsystemd-dev, libpcre2-dev, clang-9, socat, ninja-build ]
-  homebrew:
-    update: true
-    packages: [ socat ]
 
 cache:
   directories:
@@ -94,8 +91,12 @@
     compiler: clang
     env: TARGET=linux-glibc FLAGS= CC=clang-9
   - os: osx
+    osx_image: xcode12
     if: type == push
     compiler: clang
+    before_script:
+      - echo 'brew "socat"' > brew.bundle
+      - brew bundle --file=brew.bundle
     env: TARGET=osx FLAGS="USE_OPENSSL=1" OPENSSL_VERSION=1.1.1f
   - os: linux
     if: type == cron