cros_build_lib: LoadKeyValueFile: new helper func for reading key=value files

This takes existing code in cros_sdk and generalizes it a bit so it can be
used elsewhere (parsing general shell config files).

Then we gut similar logic in layout.conf parsing and use this new func.

BUG=chromium-os:36453
TEST=`./lib/cros_build_lib_unittest.py` passes
TEST=`cros_sdk --chroot=new_chroot` works
TEST=`cbuildbot daisy-paladin` shows egencache running for right repos

Change-Id: I133e188fc983d4cc2d1b0cfccf48a80cc76a8383
Reviewed-on: https://gerrit.chromium.org/gerrit/40603
Reviewed-by: Ryan Cui <rcui@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/cros_sdk.py b/scripts/cros_sdk.py
index 9129255..a21caeb 100644
--- a/scripts/cros_sdk.py
+++ b/scripts/cros_sdk.py
@@ -6,7 +6,6 @@
 """This script fetches and prepares an SDK chroot.
 """
 
-import errno
 import os
 import sys
 import urlparse
@@ -37,25 +36,6 @@
 NEEDED_TOOLS = ('curl', 'xz', 'unshare')
 
 
-def GetSdkConfig():
-  """Extracts latest version from chromiumos-overlay."""
-  d = {}
-  try:
-    with open(SDK_VERSION_FILE) as f:
-      for raw_line in f:
-        line = raw_line.split('#')[0].strip()
-        if not line:
-          continue
-        chunks = line.split('=', 1)
-        if len(chunks) != 2:
-          raise Exception('Malformed version file; line %r' % raw_line)
-        d[chunks[0]] = chunks[1].strip().strip('"')
-  except EnvironmentError, e:
-    if e.errno != errno.ENOENT:
-      raise
-  return d
-
-
 def GetArchStageTarballs(version):
   """Returns the URL for a given arch/version"""
   extension = {'bz2':'tbz2', 'xz':'tar.xz'}
@@ -233,7 +213,7 @@
 to an interactive bash shell within the chroot.
 
 If given args those are passed to the chroot environment, and executed."""
-  conf = GetSdkConfig()
+  conf = cros_build_lib.LoadKeyValueFile(SDK_VERSION_FILE, ignore_missing=True)
   sdk_latest_version = conf.get('SDK_LATEST_VERSION', '<unknown>')
   bootstrap_latest_version = conf.get('BOOTSTRAP_LATEST_VERSION', '<unknown>')