Support for DOM and other external tree models

With a wrapped DOM document, the id() function now recognizes xml:id attributes whether or not the underlying DOM does so.

A new tree model called the Domino model is introduced for handling DOM documents. This is available in Saxon-EE only. It offers substantial performance improvements when the input to a query or transformation is supplied in the form of a DOM, and is therefore the default way of handled DOM input in Saxon-EE. Further details are available at The Domino Tree Model.