Named structs and dicts.

Added named structure and dictionary support as described in the
proposal on the AllSeen Alliance Wiki. The marker for named type
references in signatures is [TypeName], not $TypeName$ as originally
proposed.
Note that it is still allowed to use "flat" argument signatures in the
input XML. They will generate the same code as before, with the
difference that dictionaries now have fields called "key" and "value"
instead of "member0" and "member1".

Change-Id: Id6cc8c12dc6d2762f7a1c66c215339253a9bb943
Signed-off-by: Meggan Ehret <meggan@qeo.org>
Data-driven API C++ code generator

Change-Id: I49eedd0e8f2b286f8ba26922cae0cef66a80a53d
Signed-off-by: Meggan Ehret <meggan@qeo.org>
Fix ddcpp object path validation

Object paths are irrelevant for the ddcpp code generator module. The
ddcpp module automatically inserts a fake object path in the command
line arguments if none was provided, but this caused issues with some
validation code if the input XML also specified an object path. This
patch disables the bus object path validation if the ddcpp code
generator is used.

Change-Id: I1f238cc343495d4b3e8259823293ea8383598289
Signed-off-by: Meggan Ehret <meggan@qeo.org>
Merge branch 'feature/datadriven_api' into 'master'

Change-Id: I1ae981286c3f6bca9c981783d7d466ded4d1ff3b
Signed-off-by: Meggan Ehret <meggan@qeo.org>