docs: def dropKey(self, key):
          '''Drop an attribute/element/key-value pair from all the dictionaries.
  
          If the dictionary key does not exist in a particular dictionary, then
          that dictionary is left unchanged.
  
          Side effect: if the key is a number and it matches a list (interpreted
          as a dictionary), it will cause the "keys" to shift just as a list
          would be expected to.
  
          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).dropKey("income").returnString()
          [
              {age: 18, name: 'Jim'  , wigs:        68, zim: None         },
              {age: 18, name: 'Larry', wigs: [3, 2, 9], zim: None         },
              {age: 20, name: 'Joe'  , wigs: [1, 2, 3], zim: None         },
              {age: 29, name: 'Jim'  , wigs: None     , zim: {'zam': '99'}},
              {age: 19, name: 'Bill' , wigs: None     , zim: None         }
          ]
          
          .. versionadded:: 0.1.2
          
          :param key:
             The dictionary key (or cascading list of keys point to final key)
             that should be removed.
          :returns: self
          '''
          result = []
          for row in self.table:
              result.append(internal.remove_member(row, key))
          self.table = result
          return self