pimgen: Add new types
pimgen: Add new types

Add a number of new types in preparation for another round of
refactoring.

Indent - An object that facilitates indent agnostic templates.
Template - An association of a template with its parent namespace.
Quote - A decorator for quoting strings.
Cast - A decorator for casting arguments.
Literal - A decorator for using literal operators.
InitializerList - An initializer list argument.
Vector/Wrapper - Convenience types.

Change-Id: I92cb6179716f6a04f2fecd3c7c59af5f9ec8d26c
Signed-off-by: Brad Bishop <713d098c0be4c8fd2bf36a94cd08699466677ecd@fuzziesquirrel.com>

openbmc/phosphor-inventory-manager,openbmc/phosphor-inventory-manager