monitor: Update YAML parser to handle trust groups

It creates a list of group creator lambdas based on
the information in the monitor YAML file.

These lambdas are called by the manager class to create
the trust group instances.

A real life example is:

const std::vector<CreateGroupFunction> trustGroups
{
    {
        []()
        {
            std::vector<std::string> names{
                "fan0_1",
                "fan1_1",
                "fan2_1",
                "fan3_1",
            };
            return std::make_unique<NonzeroSpeed>(names);
        }
    },
};

Change-Id: Ia883df35efb86242aae2f8ed7d1714e94e65a6e6
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
3 files changed