def add(*arguments)
      Hash[*arguments.flatten].each_pair do |name, value|
        fields[name.to_sym] = Value.create(value)
      end

      self
    end
def add(*arguments)
      Hash[*arguments.flatten].each_pair do |name, value|
        fields[name.to_sym] = Value.create(value)
      end

      self
    end
call-seq:
   add(:author, "Edgar A. Poe")
   add(:author, "Edgar A. Poe", :title, "The Raven")
   add([:author, "Edgar A. Poe", :title, "The Raven"])
   add(:author => "Edgar A. Poe", :title => "The Raven")
   add(:author => Names.new(Name.new(:first => 'Edgar A.', :last => 'Poe')))

 Adds a new field (name-value pair) or multiple fields to the entry.
 Returns the entry for chainability.