1119648: Added additional functionality to repo listing.

Added the --list-enabled and --list-disabled options for explicitly
specifying only enabled or disabled repos. --list now acts as a
shorthand for specifying both.
so maybe something like:

``` python
def _gen_repo(self, repos_enables):
    repos = []
   # could spec repo label as well, or use a repo info map with id, initial enable status, and expected match results
    repos.append(Repo("x", [("enabled", repo_enabled[0])]))
    repos.append(Repo("y", [("enabled", repo_enabled[1])]))
    repos.append(Repo("z", [("enabled", repo_enabled[2])]))
   return repos

def _run_main(self, args, repos):
     self.cc.main(args)
     self.cc._validate_options()

     repo_list = self._gen_repos(("0", "0", "1"))
     mock_invoker.return_value.get_repos.return_value = repos
      # Execute command with our mock stdout capturing the output
      sys.stdout = self.mock_stdout
       self.cc._do_command()
       sys.stdout = sys.__stdout__

       searches = ()
       for repo in repos:
            searches.append(re.search("^Repo ID:\\s+%s$" % repo.id, self.mock_stdout.buffer, re.MULTILINE))

      return searches
```

Then tests just alter the initial repo enable status, and the expect results