[autotest] Add, and begin using, ManifestVersions class.

This CL creates the ManifestVersons class, to enable other
componenets to query info from the manifest-versions git repo.
Abstracts away all git operations from consumers.

Also introduces some basic usage of the class, to discover new manifests that
appeared in a given time frame (used by Nightly and Weekly classes).

BUG=chromium-os:27586
TEST=unit

Change-Id: I07e707112fcca8279b37a5ce4ba2b54a8e150889
Reviewed-on: https://gerrit.chromium.org/gerrit/19867
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Masone <cmasone@chromium.org>
diff --git a/site_utils/suite_scheduler/task.py b/site_utils/suite_scheduler/task.py
index 7b04c0b..f003bd5 100644
--- a/site_utils/suite_scheduler/task.py
+++ b/site_utils/suite_scheduler/task.py
@@ -22,7 +22,7 @@
     correct use in dicts, sets, etc.
     """
 
-    _BARE_BRANCHES = ['factory', 'firmware']
+    BARE_BRANCHES = ['factory', 'firmware']
 
 
     @staticmethod
@@ -60,7 +60,7 @@
     def CheckBranchSpecs(branch_specs):
         """Make sure entries in the list branch_specs are correctly formed.
 
-        We accept any of Task._BARE_BRANCHES in |branch_specs|, as
+        We accept any of Task.BARE_BRANCHES in |branch_specs|, as
         well as _one_ string of the form '>=RXX', where 'RXX' is a
         CrOS milestone number.
 
@@ -69,7 +69,7 @@
         """
         have_seen_numeric_constraint = False
         for branch in branch_specs:
-            if branch in Task._BARE_BRANCHES:
+            if branch in Task.BARE_BRANCHES:
                 continue
             if branch.startswith('>=R') and not have_seen_numeric_constraint:
                 have_seen_numeric_constraint = True