Parse the releases info only once in emsdk.py. (#607)

Co-authored-by: Julien Jorge <julien.jorge@stuff-o-matic.com>
diff --git a/emsdk.py b/emsdk.py
index 14ce884..d4ff109 100755
--- a/emsdk.py
+++ b/emsdk.py
@@ -2185,12 +2185,15 @@
 
 # Load the json info for emscripten-releases.
 def load_releases_info():
-  try:
-    text = open(sdk_path('emscripten-releases-tags.txt'), 'r').read()
-    return json.loads(text)
-  except Exception as e:
-    print('Error parsing emscripten-releases-tags.txt!')
-    exit_with_error(str(e))
+  if not hasattr(load_releases_info, 'cached_info'):
+    try:
+      text = open(sdk_path('emscripten-releases-tags.txt'), 'r').read()
+      load_releases_info.cached_info = json.loads(text)
+    except Exception as e:
+      print('Error parsing emscripten-releases-tags.txt!')
+      exit_with_error(str(e))
+
+  return load_releases_info.cached_info
 
 
 # Get a list of tags for emscripten-releases.