Functions, operators, and data types for XPath 2.0

Added support for the abs function. (This anticipates a future draft of the specification.) {math-two15}

Conversion of decimal, float, and double to integer now works as specified, by truncating towards zero. {math-two16}

Conversion of a non-numeric string to a number, when invoked using a cast, or the xs:double() constructor function, or implicit conversion of an untyped node, now raises a dynamic error rather than returning NaN. The number() function, however, continues to return NaN.

The doc() function, when it fails to find a document (or to parse it as XML) now raises a fatal run-time error. This doesn't affect the behaviour of the document() function.