lib/buildstore.py: Initial BuildStore

The CL to implement the framework for BuildStore interface
which will recieve all the DB calls within Chromite eventually.
This CL moves InsertBuild and InsertBuildStage.

BUG=chromium:912340
TEST=tryjob

Change-Id: Ifdb472a585027b19dd7fcdf7d00b36a47b9bf872
Reviewed-on: https://chromium-review.googlesource.com/1366409
Commit-Ready: Dhanya Ganesh <dhanyaganesh@chromium.org>
Tested-by: Dhanya Ganesh <dhanyaganesh@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 6c4530b..789e35a 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -44,6 +44,7 @@
 from chromite.lib import timeout_util
 from chromite.lib import tree_status
 from chromite.lib import ts_mon_config
+from chromite.lib.buildstore import BuildStore
 
 
 _DEFAULT_LOG_DIR = 'cbuildbot_logs'
@@ -157,6 +158,7 @@
   with parallel.Manager() as manager:
     builder_run = cbuildbot_run.BuilderRun(
         options, site_config, build_config, manager)
+    buildstore = BuildStore()
     if metadata_dump_dict:
       builder_run.attrs.metadata.UpdateWithDict(metadata_dump_dict)
 
@@ -167,9 +169,9 @@
       else:
         builder_cls_name = 'simple_builders.SimpleBuilder'
       builder_cls = builders.GetBuilderClass(builder_cls_name)
-      builder = builder_cls(builder_run)
+      builder = builder_cls(builder_run, buildstore)
     else:
-      builder = builders.Builder(builder_run)
+      builder = builders.Builder(builder_run, buildstore)
 
     if not builder.Run():
       sys.exit(1)