Validations for XML elements and attributes

Added validations similar to those found in the JSON context.

The following sentences are added in this PR:
* the response should be in XML
* the response should not be in XML
* the XML element "(?P<element>[^"]*)" should exists?
* the XML element "(?P<element>[^"]*)" should not exists?
* the XML element "(?P<element>(?:[^"]|\\")*)" should be equal to "(?P<text>[^"]*)"
* the XML element "(?P<element>(?:[^"]|\\")*)" should not be equal to "(?P<text>[^"]*)"
* the XML attribute "(?P<attribute>[^"]*)" on element "(?P<element>(?:[^"]|\\")*)" should exists?
* the XML attribute "(?P<attribute>[^"]*)" on element "(?P<element>(?:[^"]|\\")*)" should not exists?
* the XML attribute "(?P<attribute>[^"]*)" on element "(?P<element>(?:[^"]|\\")*)" should be equal to "(?P<text>[^"]*)"
* the XML attribute "(?P<attribute>[^"]*)" on element "(?P<element>(?:[^"]|\\")*)" should not be equal to "(?P<text>[^"]*)"
* the XML element "(?P<element>[^"]*)" should have (?P<nth>\d+) elements?
* the XML element "(?P<element>[^"]*)" should contain "(?P<text>[^"]*)"
* the XML element "(?P<element>[^"]*)" should not contain "(?P<text>[^"]*)"

Scenarios have been added to test each of these sentences.  The 'book.xml' fixture is added as the canonical XML example from the PHP documentation, which can be found at: http://www.php.net/manual/en/dom.examples.php