[New function]Identical _scanModFile factored out

Reformatted _buildPatch (duh) and added comments
if reduce(getattr,attr.split('.'),record) != value: # OOPS
does not permit me to use _scanModFile for ActorImporter

 # This is the 2nd commit message:

Fix: _scanModFile() takes exactly 3 arguments (2 given)

MERGE/SCAN ERROR: Oblivion.esm
Traceback (most recent call last):
  File "bash\basher.py", line 7067, in Execute
    patchFile.scanLoadMods(SubProgress(progress,0.2,0.8)) #try to speed this up!
  File "bash\bosh.py", line 10502, in scanLoadMods
    patcher.scanModFile(modFile,nullProgress)
    TypeError: _scanModFile() takes exactly 3 arguments (2 given)

--------------- Mopy/bash/patcher/oblivion/patchers/importers.py ---------------
index f61183e..bbfd654 100644
@@ -405,3 +405,2 @@ def initPatchFile(self,patchFile,loadMods):
                           'CLOT', 'CREA', 'MGEF', 'EFSH'}
-        self.scanModFile = _scanModFile

@@ -493,2 +492,5 @@ def initData(self,progress):

+    def scanModFile(self, modFile, progress):
+         _scanModFile(self,modFile,progress)
+
     @staticmethod
@@ -937,3 +939,2 @@ def initPatchFile(self,patchFile,loadMods):
         self.longTypes = {'CREA', 'NPC_'}
-        self.scanModFile = _scanModFile

@@ -1000,2 +1001,5 @@ def initData(self,progress):

+    def scanModFile(self, modFile, progress):
+         _scanModFile(self,modFile,progress)
+
     @staticmethod
@@ -1349,3 +1353,2 @@ def initPatchFile(self,patchFile,loadMods):
         self.longTypes = {'CREA', 'NPC_'}
-        self.scanModFile = _scanModFile

@@ -1407,2 +1410,5 @@ def initData(self,progress):

+    def scanModFile(self, modFile, progress):
+         _scanModFile(self,modFile,progress)
+
     @staticmethod
_scanModFile(self, modFile, progress) -> _scanModFile(self, modFile):

SQUASH if not needed to revert