sdbus++: Generate initial client header

By "client-header" option, sdbus++ could generate a client header file
that provides the code used by the client.

Currently it only includes the interface name's string in the header
file, it could be extended in the future.

The client header could be merged together for all the interfaces, so
that an interface library could provide a single header to represent all
the interface strings.

Usage:

 sdbus++ -r $(srcdir) -t $(top_builddir)/tools/sdbusplus/templates \
    interface client-header <interface>

Tested: Generate the header in example and use static_assert to verify
        it is the same as the interface defined in the interface calss.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Idafc4724efa88a2dfd37e3f7735732c45171fd88
diff --git a/tools/sdbus++ b/tools/sdbus++
index 26969f3..6cfcb9e 100755
--- a/tools/sdbus++
+++ b/tools/sdbus++
@@ -15,7 +15,8 @@
                        'server-header': "server_header",
                        'server-cpp': "server_cpp",
                        'exception-header': "exception_header",
-                       'exception-cpp': "exception_cpp"}
+                       'exception-cpp': "exception_cpp",
+                       'client-header': "client_header"}
 
     parser = argparse.ArgumentParser(description='Process sdbus++ YAML files.')