lshal: add HelpCommand

Add *Command::usage() function for each Command and let
Lshal class to call them.

Suppress output from getopt_long and write our own
error message to customized error stream (for testing).

Test: lshal_test
Test: lshal --help

Change-Id: I8f5847c84a3e01af29fa85871479cab3baeb5312
diff --git a/cmds/lshal/Command.h b/cmds/lshal/Command.h
index b1efb97..aff4975 100644
--- a/cmds/lshal/Command.h
+++ b/cmds/lshal/Command.h
@@ -31,7 +31,9 @@
     virtual ~Command() = default;
     // Expect optind to be set by Lshal::main and points to the next argument
     // to process.
-    virtual Status main(const std::string &command, const Arg &arg) = 0;
+    virtual Status main(const Arg &arg) = 0;
+
+    virtual void usage() const = 0;
 
 protected:
     Lshal& mLshal;