Saxon extensions to the W3C XSLT/XQuery specifications

Thanks to Gunther Schadow for these changes.

If an extension function returns null, this is now mapped to a zero-length sequence rather than to an external object that wraps null. This prevents some run-time type failures.

Exceptions thrown by an extension function are now wrapped in the XPathException thrown by the calling XPath expression, and hence in the TransformerException thrown by the transformation as a whole.

Public fields in Java classes are now accessible as zero-argument functions, for example the field Double.MIN_VALUE is accessible as Double:MIN_VALUE() with the namespace prefix bound as xmlns:Double="java:java.lang.Double". Non-static fields can be accessed by including the object instance as the first argument. It is not possible (and rarely necessary or desirable!) to modify public fields without use of a setter method. {saxon74}

The extension function saxon:is-null (which was incorrectly documented as saxon:if-null) is now redundant, and is dropped.

The undocumented saxon:trace function is dropped: use fn:trace instead.