[CORD-3256] Generate TT/TP community test job.

jjb/voltha-test/voltha.yaml
jjb/voltha-test/voltha-nightly-jobs.yaml
----------------------------------------
  - First attempt at cloning a voltha pipeline job from DT to TT.
  - Add a few placeholders for future work to split yaml configs
    into a more modular setup.

Makefile
config.mk
makefiles/lint/groovy.mk
makefiles/lint/yaml.mk
makefiles/virtualenv.mk
------------------------
  - Copy in makefile libraries from repo::voltha-docs.
  - lint/yaml and lint/groovy.

Misc / Fixes
------------
  - Fixed colorization in tree output.
  - Comment out jjb import in requirements.txt, Makefile still configured to use an older version.
  - Move README.md outside jjb/ lf-env scripts blindly grep for error patterns beneath jjb/

Change-Id: I36e304f6ca9d54dc26fa5d36b17373cbb00f5afd
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index 628f166..2e12f24 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -1,6 +1,6 @@
 # -*- makefile -*-
 ## -----------------------------------------------------------------------
-# Copyright 2017-2023 Open Networking Foundation
+# Copyright 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -25,11 +25,14 @@
 ##------------------##
 ##---]  LOCALS  [---##
 ##------------------##
-venv-name            ?= .venv
+venv-name            ?= .venv#                            # default install directory
 venv-abs-path        := $(PWD)/$(venv-name)
 
 venv-activate-script := $(venv-name)/bin/activate#        # dependency
-activate             ?= source $(venv-activate-script)#   # cmd invocation
+
+# Intent: activate= is a macro for accessing the virtualenv activation script#
+#  Usage: $(activate) && python
+activate             ?= set +u && source $(venv-activate-script) && set -u
 
 ## -----------------------------------------------------------------------
 ## Intent: Activate script path dependency
@@ -38,12 +41,15 @@
 ##    o When the script does not exist install the virtual env and display.
 ## -----------------------------------------------------------------------
 $(venv-activate-script):
-	virtualenv -p python3 $(venv-name)\
-  && source $(venv-name)/bin/activate\
-  && python -m pip install --upgrade pip\
-  && pip install --upgrade setuptools\
-  && { [[ -r requirements.txt ]] && python -m pip install -r requirements.txt; }\
-  && python --version
+	@echo
+	@echo "============================="
+	@echo "Installing python virtual env"
+	@echo "============================="
+	virtualenv -p python3 $(venv-name)
+	$(activate) && python -m pip install --upgrade pip
+	$(activate) && pip install --upgrade setuptools
+	$(activate) && { [[ -r requirements.txt ]] && python -m pip install -r requirements.txt; }
+	$(activate) && python --version
 
 ## -----------------------------------------------------------------------
 ## Intent: Explicit named installer target w/o dependencies.