Add GitcClientCommand class for GITC-specific commands

These won't show up as common commands in the help text unless in a GITC
client, and will refuse to execute.

Change-Id: Iffe82adcc9d6ddde9cb4b204f83ff018042bdab0
diff --git a/subcmds/help.py b/subcmds/help.py
index ae5b8f0..9bb4c8c 100644
--- a/subcmds/help.py
+++ b/subcmds/help.py
@@ -19,7 +19,7 @@
 from formatter import AbstractFormatter, DumbWriter
 
 from color import Coloring
-from command import PagedCommand, MirrorSafeCommand, RequiresGitcCommand
+from command import PagedCommand, MirrorSafeCommand, GitcAvailableCommand, GitcClientCommand
 import gitc_utils
 
 class Help(PagedCommand, MirrorSafeCommand):
@@ -57,8 +57,12 @@
     print('The most commonly used repo commands are:')
 
     def gitc_supported(cmd):
-      if not isinstance(cmd, RequiresGitcCommand):
+      if not isinstance(cmd, GitcAvailableCommand) and not isinstance(cmd, GitcClientCommand):
+        return True
+      if self.manifest.isGitcClient:
         return True
+      if isinstance(cmd, GitcClientCommand):
+        return False
       if gitc_utils.get_gitc_manifest_dir():
         return True
       return False