argument parser: use CLI11 and add unit tests

CLI11 is one of the most commonly use argument parser in OpenBMC. It can
save ~150 lines of codes in this project.

We are hitting argument related bugs that not covered in unit tests.
This test adds a test for argument parsing.

Tested: QEMU IPMI/Redfish worked.

Signed-off-by: Nan Zhou <nanzhoumails@gmail.com>
Change-Id: Ib409c7e6a82ad31049f2da3e32727ebdf185f0fc
diff --git a/test/meson.build b/test/meson.build
index f3996fe..e2cc092 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -20,6 +20,20 @@
 endif
 
 test(
+    'test_argument',
+    executable(
+        'argument_test',
+        'argument_test.cpp',
+        include_directories: '..',
+        dependencies: [
+            gtest_dep,
+            gmock_dep,
+            cert_manager_dep,
+        ],
+    ),
+)
+
+test(
     'test_certs_manager',
     executable(
         'test-certs-manager',