Split ParameterUtil utility class into ArgumentUtil and TypeUtil utility classes
Optimized for loop
Fixed an equality check

TypeUtil methods TypeUtil#equals(DataType, Object, Object)
and #compare(DataType, Object, Object) should never be invoked with
String values (especially as the third parameter). This could happen
easily when accessing class model content, such as PMML element and
attribute values.
Lazy Object allocation
Exposing the result of input value preparation as a FieldValue instance

This change affects the result type of Evaluator#prepare(FieldName,
Object) method. Despite the fact that the result type is not part of
method signature, it breaks the binary compatibility with earlier
versions. The source compatibility is preserved, though, because the new
result type FieldValue is a subclass or earlier result type Object.