def add(key, value, placer = AppendPlacer.new)
      element = placer.new_element(self)
      element[:key] = key
      element[:value] = value
      element[:operation] = :add
    end
def add(key, value, placer = AppendPlacer.new)
      element = placer.new_element(self)
      element[:key] = key
      element[:value] = value
      element[:operation] = :add
    end
Adds the given *value* for *key* in the tree.

 By default an AppendPlacer is used which produces duplicate keys
 but ReplacePlacer can be used to replace the *first* duplicate.
 @param key [String]
 @param value [String,AugeasTree,AugeasTreeValue]
 @param placer [Placer] determines where to insert value in tree.
   Useful e.g. to specify order of keys or placing comment above of given
   key.