[COMMON] Add and run pre-commit linters via tox

- create a .pre-commit-config.yaml configuration file with
  * gitlint
  * trailing blanks linter
  * tabs removal linter
    - exclude .git folder from it
    - exclude Makefiles since tabs are mandatory by default in them
- create a tox pre-commit profile to run it from tox
  note gitlint is not runnable at this pre-commit stage
- create pre-commit-install and pre-commit-uninstall tox profiles to
  (un)install hooks locally and (un)perform tests at each "git commit"
  call (i.e. without calling manually the pre-commit tox profile)
- precise pre-commit stages/types in the pre-commit configuration file
  so that hooks are installed correctly. This avoids messages about
  skipped tests when they are run at a wrong stage.

Issue-ID: OOM-2643
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ie95bb4f6f90be80b05a1398973caffeff7936881
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml
index aedf3c4..7e7576c 100644
--- a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml
+++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml
@@ -180,7 +180,7 @@
             enum:
              - FILE_BASED_LOC_SET_BY_PRODUCER
              - FILE_BASED_LOC_SET_BY_CONSUMER
-             - STREAM_BASED 
+             - STREAM_BASED
         monitorGranularityPeriods:
           type: array
           items:
@@ -216,7 +216,7 @@
           type: integer
 
 #-------- Definition of types used in Trace control NRM fragment------------------
-                
+
     tjJobType-Type:
       type: string
       description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details.
@@ -657,7 +657,7 @@
       required:
         - TargetIdType
         - TargetIdValue
-    
+
     tjTriggeringEvent-Type:
       type: object
       description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional detials.
@@ -682,14 +682,14 @@
       required:
         - NetworkElement
         - EventBitmap
-    
+
     tjMDTAnonymizationOfData-Type:
       description: Specifies level of MDT anonymization. For additional details see 3GPP TS 32.422 clause 5.10.12.
       type: string
       enum:
         - NO_IDENTITY
         - TAC_OF_IMEI
-    
+
     tjMDTAreaConfigurationForNeighCell-Type:
       description: Used for logged NR MDT and defines the area for which UE is requested to perform measurement logging for neighbour cells which have list of frequencies. For additional details see 3GPP TS 32.422 clause 5.10.26.
       type: array
@@ -700,12 +700,12 @@
             type: string
           cell:
             type: string
-      
+
     tjMDTAreaScope-Type:
       description: defines the area in terms or Cells or Tracking Area/Routing Area/Location Area where the MDT data collection shall take place. For additional details see 3GPP TS 32.422 clause 5.10.2.
       allOf:
         - $ref: 'comDefs.yaml#/components/schemas/DnList'
-        
+
     tjMDTCollectionPeriodRrmLte-Type:
       description: See details in 3GPP TS 32.422 clause 5.10.20.
       type: string
@@ -737,7 +737,7 @@
         - 5120ms
         - 10240ms
         - 1min
-    
+
     tjMDTCollectionPeriodRrmNR-Type:
       description: See details in 3GPP TS 32.422 clause 5.10.30.
       type: string
@@ -764,7 +764,7 @@
           type: integer
           minimum: 0
           maximum: 97
-        EventThresholdRSRQ:      
+        EventThresholdRSRQ:
           type: integer
           minimum: 0
           maximum: 34
@@ -846,7 +846,7 @@
         - 3600s
         - 5400s
         - 7200s
-    
+
     tjMDTLoggingInterval-Type:
       description: See details in 3GPP TS 32.422 clause 5.10.8.
       type: string
@@ -1183,7 +1183,7 @@
         tjJobType:
           $ref: '#/components/schemas/tjJobType-Type'
         tjListOfInterfaces:
-          $ref: '#/components/schemas/tjListOfInterfaces-Type'                  
+          $ref: '#/components/schemas/tjListOfInterfaces-Type'
         tjListOfNeTypes:
           $ref: '#/components/schemas/tjListOfNeTypes-Type'
         tjPLMNTarget: