def filter_value(obj, property, value, row)
      flt = filter_for(obj, property.to_sym)
      return value if flt.nil?
      fval = flt.call(obj, value, row)
      unless value == fval then
        logger.debug { "The migration filter transformed the #{obj.qp} #{property} value from #{value.qp} to #{fval}." }
      end
      fval
    end
def filter_value(obj, property, value, row)
      flt = filter_for(obj, property.to_sym)
      return value if flt.nil?
      fval = flt.call(obj, value, row)
      unless value == fval then
        logger.debug { "The migration filter transformed the #{obj.qp} #{property} value from #{value.qp} to #{fval}." }
      end
      fval
    end
Calls the shim migrate_<attribute> method or config filter on the input value.

 @param value the input value
 @param [Property] property the property to set
 @return the input value, if there is no filter, otherwise the filtered value