Improved the caching of derived field values

When working with nested evaluation contexts, then the value of a
derived field should be cached at the level that provided the resolution
of the corresponding DerivedField element.

Thanks, Dad. I will miss you.
Overrode Object#toString() for Computable subclasses
Moved and renamed a method
Optimized the evaluation of 'if' built-in function

The boolean value of the first argument (IF clause) determines whether
the second argument (THEN part) or the third argument (ELSE part) is
returned as the result. In either case, one of the two arguments goes
unused.

It is possible to leave the unused argument untreated. This saves
evaluation time and guards against unexpected side effects.
[maven-release-plugin] prepare release 1.1.12
[maven-release-plugin] prepare for next development iteration
Updated version information