[VOL-5053] - Pre-release triage build of voltha-lib-go

makefiles/
----------
  o Added latest library makefile versions from repo:onf-make.
  o Remove inlined GO* macros and replaced with makefile/docker/include.mk
  o Proper handling of --it/--tty so jenkins can capture docker output in logs.

pkg/adapters/common/
pkg/config/
pkg/db/
pkg/db/kvstore/
pkg/events/eventif/
---------------------
  o Bulk copyright notice end-date updates.
  o Run gofmt -s -w on all *.go sources to fix potential job problems.
  o Cosmetic edits to force a build for the release.

config.mk
---------
  o Ignore more lint targets: groovy (tool needed), jjb (not-needed)

Makefile
--------
  o echo enter/leave banners within targets to improve readability.
  o Inline set -euo pipefail within testing else tee command masks exit status.
  o Added LOCAL_FIX_PERMS= hack to adjust docker volume perms when working locally.
  o make test depends on test-go and test-go-coverage.
  o test-go: normal test run, exit with status.
  o test-go-coverage: test with code -cover but ignore errors until sources can be identified and cleaned up.
  o Split test target into
    - gen-coverage-coverprofile
    - gen-coverage-junit
    - gen-coverage-cobertura
      - Separate targets help unwrap run-on command and the need to capture exit status.
      - Logic can now migrate into a library makefile for other repos to make use of.

Change-Id: Id680c8eb626ff6b7cd27ca783988f659fa1468df
diff --git a/makefiles/bootstrap.mk b/makefiles/bootstrap.mk
new file mode 100644
index 0000000..ada8cd0
--- /dev/null
+++ b/makefiles/bootstrap.mk
@@ -0,0 +1,65 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Intent: Dependency-free macros used to source library makefiles
+#         and define the build environment.
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG-bootstrap_mk),$(warning ENTER))
+
+##---------------------##
+##---]  CONSTANTS  [---##
+##---------------------##
+is-false = $(if $(1),true,$(null))
+is-true  = $(if $(1),$(null),true)
+
+##--------------------------##
+##---]  LIBRARY MACROS  [---##
+##--------------------------##
+is-null              = $(if $(1),$(null),$(error $(1)= is undef))
+is-null-var          = $(if $$(1),$(null),$(error $(1)= is undef))
+is-null-var-indirect = $(if $(1),$(null),$(error $(1)= is undef))
+
+## variable flavor:
+# origin - undefned
+# default
+# environment
+# environment override
+# automatic
+# null(blah) ?   - true
+
+## -----------------------------------------------------------------------
+## Intent: Given an indirect var containing varname of a makefile *_ROOT
+##         parent director, derive a *_MKDIR variable and conditionally
+##         include the makefile hierarchy.
+## -----------------------------------------------------------------------
+## Given:
+##   o var containing OPT_ROOT=path
+## Return:
+##   o OPT_MKDIR=$(OPT_ROOT)/makefiles
+##   o If exists include $(OPT_MKDIR)/include.mk
+## -----------------------------------------------------------------------
+# library-include   := $(call mk-library-include,blah)
+
+mk-library-include=$(error revisit mk-library-include)
+
+#$(strip \
+#  $(warning mk-library-include: $$1[$(1)] = [$($(1))]))\
+#  $(call is-null-var,1)\
+#  $(foreach var,$($(1)),\
+#    $(info var=$(var) is-null=$(call is-null-var,var))\
+#  $(foreach val,$$(var),\
+#    $(info val=$(val))\
+#    $(foreach makedir,$(subst _ROOT,_MKDIR,$(var)),\
+#$(warning makedir=$(makedir))\
+#      $(if $($(makedir)),$(null),\
+#        $(eval $(makedir)=$$$$($(var))/makefiles)\
+#$(warning $(makedir) = $($($(makedir))))\
+#$(info $$(wildcard $(val)/makefiles/include.mk) = $(wildcard $(val)/makefiles/include.mk))\
+#        $(foreach mf,$(wildcard $(wildcard $(val)/makefiles/include.mk)),\
+#$(warning $$(eval include $(mf)))\
+##          $(eval include $(mf)))\
+# )
+
+$(if $(DEBUG-bootstrap_mk),$(warning LEAVE))
+
+# [EOF]