buffet: Add command ID to CommandInstance class

Rather than passing command ID along with CommandInstance class,
make it to be part of CommandInstance itself. When a command
instance is added to CommandQueue, the command queue will generate
a new ID and set it to the command instance.

Because CommandInstance, when saved in CommandQueue, is now mutable,
remove 'const' in a bunch of places to allow the command instance
to be modifiable.

BUG=chromium:374864
TEST=USE=buffet P2_TEST_FILTER="buffet::*" FEATURES=test emerge-link platform2

Change-Id: Ia30dd4c9bd86b51694d9345dd91f6ed2ae0cb138
Reviewed-on: https://chromium-review.googlesource.com/213266
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/commands/command_dispatch_interface.h b/buffet/commands/command_dispatch_interface.h
index b09c6ec..d1a727d 100644
--- a/buffet/commands/command_dispatch_interface.h
+++ b/buffet/commands/command_dispatch_interface.h
@@ -18,12 +18,10 @@
  public:
   virtual ~CommandDispachInterface() = default;
   // Callback invoked by CommandQueue when a new command is added to the queue.
-  virtual void OnCommandAdded(const std::string& command_id,
-                              const CommandInstance* command_instance) = 0;
+  virtual void OnCommandAdded(CommandInstance* command_instance) = 0;
   // Callback invoked by CommandQueue when a new command is removed from
   // the queue.
-  virtual void OnCommandRemoved(const std::string& command_id,
-                                const CommandInstance* command_instance) = 0;
+  virtual void OnCommandRemoved(CommandInstance* command_instance) = 0;
 };
 
 }  // namespace buffet