Insert a attribute/element/key-value pair to all the dictionaries.

        The same value is added to all of the dictionaries.

        Of note: the current version of this routine cannot handle subtending
        keys (dictionaries in dictionaries).

        Example of use:

        >>> test = [
        ...    {"name": "Jim",   "age": 18, "income": 93000, "wigs": 68       },
        ...    {"name": "Larry", "age": 18,                  "wigs": [3, 2, 9]},
        ...    {"name": "Joe",   "age": 20, "income": 15000, "wigs": [1, 2, 3]},
        ...    {"name": "Jim",   "age": 29, "zim": {"zam": "99"}              },
        ...    {"name": "Bill",  "age": 19, "income": 29000                   },
        ... ]
        >>> print PLOD(test).addKey("sp", 3).returnString()
        [
            {age: 18, income: 93000, name: 'Jim'  , sp: 3, wigs:        68, zim: None         },
            {age: 18, income: None , name: 'Larry', sp: 3, wigs: [3, 2, 9], zim: None         },
            {age: 20, income: 15000, name: 'Joe'  , sp: 3, wigs: [1, 2, 3], zim: None         },
            {age: 29, income: None , name: 'Jim'  , sp: 3, wigs: None     , zim: {'zam': '99'}},
            {age: 19, income: 29000, name: 'Bill' , sp: 3, wigs: None     , zim: None         }
        ]
        
        .. versionadded:: 0.1.4
        
        :param key:
           The dictionary key (or cascading list of keys point to final key)
           that should be removed.
        :param value:
           The value assigned to the key.
        :returns: self

def addKey(self, key, value):
        '''Insert a attribute/element/key-value pair to all the dictionaries.

        The same value is added to all of the dictionaries.

        Of note: the current version of this routine cannot handle subtending
        keys (dictionaries in dictionaries).

        Example of use:

        >>> test = [
        ...    {"name": "Jim",   "age": 18, "income": 93000, "wigs": 68       },
        ...    {"name": "Larry", "age": 18,                  "wigs": [3, 2, 9]},
        ...    {"name": "Joe",   "age": 20, "income": 15000, "wigs": [1, 2, 3]},
        ...    {"name": "Jim",   "age": 29, "zim": {"zam": "99"}              },
        ...    {"name": "Bill",  "age": 19, "income": 29000                   },
        ... ]
        >>> print PLOD(test).addKey("sp", 3).returnString()
        [
            {age: 18, income: 93000, name: 'Jim'  , sp: 3, wigs:        68, zim: None         },
            {age: 18, income: None , name: 'Larry', sp: 3, wigs: [3, 2, 9], zim: None         },
            {age: 20, income: 15000, name: 'Joe'  , sp: 3, wigs: [1, 2, 3], zim: None         },
            {age: 29, income: None , name: 'Jim'  , sp: 3, wigs: None     , zim: {'zam': '99'}},
            {age: 19, income: 29000, name: 'Bill' , sp: 3, wigs: None     , zim: None         }
        ]
        
        .. versionadded:: 0.1.4
        
        :param key:
           The dictionary key (or cascading list of keys point to final key)
           that should be removed.
        :param value:
           The value assigned to the key.
        :returns: self
        '''
        result = []
        for row in self.table:
            try:
                row[key]=value
            except:
                pass
            result.append(row)
        self.table = result
        return self