XSLT 2.0 implementation

Added the as attribute to xsl:template. (This is not a very efficient implementation, as it breaks the pipeline) {seq017, seq906err, seq907err}

The [xsl:]default-xpath-namespace attribute is renamed [xsl:]xpath-default-namespace.

Two local variables in the same template or function can now have the same name. But parameters must still have unique names. (A side-effect of this change is a useful improvement in compilation speed for stylesheets with many global variables. The checking done in previous releases was implemented very inefficiently.) {var13, var901err}

I have added type-checking for global (stylesheet) parameters. It's not entirely clear here what the rules ought to be. Somewhat pragmatically, I have adopted the rule that if you supply a string (which will always be the case if parameters are provided on the command line), then the system attempts to convert it to the type specified in the xsl:param declaration; if you supply anything else, then it must (after Java to XPath conversion) be of exactly the required type, without any conversion.