refactor: cleanup and sync

* Fix Jenkins scripts and sync with ndn-cxx
* Sync waf-tools
* Remove ChronoSync submodule
* Remove commented/dead code and includes
* Use ScopedEventId and ScopedRegisteredPrefixHandle
* Set setCanBePrefix to true explicitly everywhere
* Fix macOS build, add GHA CI
* Use NDN_THROW for throwing errors
* Other smaller fixes

Change-Id: I615e0e239511b97101852e1d7c620a2071a18ff8
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 261097c..34d006e 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -1,25 +1,37 @@
 #!/usr/bin/env bash
-set -x
-set -e
-
-JDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-source "$JDIR"/util.sh
-
-[[ -n $NODE_LABELS ]] || exit 0
+set -ex
 
 if has OSX $NODE_LABELS; then
-    brew update
-    brew upgrade
-    brew install boost pkg-config qt4
-    brew cleanup
-fi
+    FORMULAE=(boost openssl pkg-config qt)
+    if has OSX-10.13 $NODE_LABELS || has OSX-10.14 $NODE_LABELS; then
+        FORMULAE+=(python)
+    fi
 
-if has Ubuntu $NODE_LABELS; then
-    sudo apt-get update -qq -y
-    sudo apt-get -qq -y install build-essential
-    sudo apt-get -qq -y install libssl-dev libsqlite3-dev
+    if [[ -n $GITHUB_ACTIONS ]]; then
+        # Homebrew doesn't have cryptopp packages, so build from source
+        git clone https://github.com/weidai11/cryptopp/
+        cd cryptopp
+        make -j4
+        make install
+        cd ..
 
-    sudo apt-get -qq -y install libprotobuf-dev protobuf-compiler libevent-dev libcrypto++-dev
-    sudo apt-get -qq -y install libboost-all-dev
-    sudo apt-get -qq -y install qt5-default
-fi
+        # Travis images come with a large number of pre-installed
+        # brew packages, don't waste time upgrading all of them
+        for FORMULA in "${FORMULAE[@]}"; do
+            brew list --versions "$FORMULA" || brew install "$FORMULA"
+        done
+
+        brew link qt --force
+    else
+        brew update
+        brew upgrade
+        brew install "${FORMULAE[@]}"
+        brew cleanup
+    fi
+
+elif has Ubuntu $NODE_LABELS; then
+    sudo apt-get -qq update
+    sudo apt-get -qy install g++ pkg-config python3-minimal \
+                             libboost-all-dev libssl-dev libsqlite3-dev \
+                             libcrypto++-dev qt5-default
+fi
\ No newline at end of file