scripts: runners: Copy load_dot_config to BuildConfiguration.get()

The body of load_dot_config method has been reimplemented in
BuildConfiguration.get(), replacing the previous code.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
diff --git a/scripts/west_commands/runners/core.py b/scripts/west_commands/runners/core.py
index ccb676d..361a6ba 100644
--- a/scripts/west_commands/runners/core.py
+++ b/scripts/west_commands/runners/core.py
@@ -21,6 +21,7 @@
 import shutil
 import signal
 import subprocess
+import re
 from typing import Dict, List, NamedTuple, NoReturn, Optional, Set, Type, \
     Union
 
@@ -144,23 +145,32 @@
         self._parse(self.path)
 
     def _parse(self, filename: str):
+        opt_value = re.compile('^(?P<option>CONFIG_[A-Za-z0-9_]+)=(?P<value>.*)$')
+        not_set = re.compile('^# (?P<option>CONFIG_[A-Za-z0-9_]+) is not set$')
+
         with open(filename, 'r') as f:
-            for line in f:
-                line = line.strip()
-                if not line or line.startswith('#'):
-                    continue
-                option, value = line.split('=', 1)
-                self.options[option] = self._parse_value(value)
+            lines = f.readlines()
 
-    @staticmethod
-    def _parse_value(value):
-        if value.startswith('"') or value.startswith("'"):
-            return value.split()
-        try:
-            return int(value, 0)
-        except ValueError:
-            return value
+        for line in lines:
+            match = opt_value.match(line)
+            if match:
+                value = match.group('value').rstrip()
+                if value.startswith('"') and value.endswith('"'):
+                    value = value[1:-1]
+                else:
+                    try:
+                        base = 16 if value.startswith('0x') else 10
+                        self.options[match.group('option')] = int(value, base=base)
+                        continue
+                    except ValueError:
+                        pass
 
+                self.options[match.group('option')] = value
+                continue
+
+            match = not_set.match(line)
+            if match:
+                self.options[match.group('option')] = 'n'
 
 class MissingProgram(FileNotFoundError):
     '''FileNotFoundError subclass for missing program dependencies.