Makefile edits to improve library lint target support.

Makefile
--------
  o Replace inlined includes with single $(MAKEDIR)/include.mk
  o virtualenv install w/dependencies handled by makefiles/virtualenv.mk
  o Use '&&' for command separation to improve error handling.
  o Added more target documentation.
  o Re-home doc8/rst syntax checking into makefiles/lint/doc8.mk.

howto/code/linting.rst
----------------------
  o Document supported lint targets on docs.voltha.org.

howto/release/index.rst
howto/release/post-release/
howto/release/vcs/
---------------------------
  o Document more release related activity (bugfix branch creation)

makefiles/consts.mk
-------------------
  o Define and use more library macros.

config.mk
---------
  o Per-repository library makefile configuration, disable linting.

makefiles/virtualenv.mk
-----------------------
  o Library virtualenv install with dependences.
  o Begin using a consistent install directory.
  o Ugh: repository (voltha-docs) submodules each install a full venv.
  o Install dependency drive based on existence of activate script.
  o Lint targets updated to use activate script as a dependency.
  o Update activate macro to run:  set -u && activate && set +u

makefiles/patches/include.mk
----------------------------
  o Update to use virtualenv.mk defined macros.

makefiles/lint/doc8.mk
makefiles/lint/python/flake8.mk
makefiles/lint/json.mk
makefiles/lint/python/pylint.mk
makefiles/lint/robot.mk
makefiles/lint/shell.mk
makefiles/lint/yaml.mk
-------------------------------
  o All library linting defines consistent targets and logic.
  o Support two library targets: lint-all and lint-modified.
  o Default to checking all available sources.
  o Linting can be disabled per-repository via {project}/config.mk

Change-Id: I7b7b5e523c867183d44244a0da21cfa3584e9a50
diff --git a/makefiles/lint/include.mk b/makefiles/lint/include.mk
index 0f653c9..96f6bce 100644
--- a/makefiles/lint/include.mk
+++ b/makefiles/lint/include.mk
@@ -15,12 +15,29 @@
 # limitations under the License.
 # -----------------------------------------------------------------------
 
+# -----------------------------------------------------------------------
+# Intent: Display help banner early before library lint help targets.
+# -----------------------------------------------------------------------
 help::
 	@echo
 	@echo "[LINT]"
 
+## Disable python linting in bulk ?
+ifdef NO-LINT-PYTHON
+  NO-LINT-FLAKE8 := true
+  NO-LINT-PYLINT := true
+endif
+
+# Define early else {flake8,pylint}.mk will complain:
+#    PYTHON_FILES ?= $(error)
+have-python-files := $(if $(strip $(PYTHON_FILES)),true)
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+include $(MAKEDIR)/lint/doc8.mk
 include $(MAKEDIR)/lint/json.mk
-include $(MAKEDIR)/lint/python.mk
+include $(MAKEDIR)/lint/python/include.mk
 include $(MAKEDIR)/lint/robot.mk
 include $(MAKEDIR)/lint/shell.mk
 include $(MAKEDIR)/lint/yaml.mk