Add support for scripts with unknown return type

The return type of scripts must usually be known before executing the
script. This is so the result can be assigned to a variable of the right
type. This change-set introduces the ability to execute scripts without
knowlege of the return type. Object is used, and the caller can cast the
results as they see fit.

If the result is a number, 32 bit int or boolean, the Java wrapper
classes will be used instead of the primitives.