'Pushed an element onto a metadata dict for the node, creating
the dict if it doesn\'t exist'

def add_metadata(self, node_data, key, value, is_list=False):

    key = self.to_safe(key)
    node = self.get_inventory_name(node_data['Node'])
    if (node in self.node_metadata):
        metadata = self.node_metadata[node]
    else:
        metadata = {}
        self.node_metadata[node] = metadata
    if is_list:
        self.push(metadata, key, value)
    else:
        metadata[key] = value
