Refactor generator.

The result should be that the code is in a better state so we can create a new release containing base type support. We should also have a better base for adding new features which depend on extracting information from WSDL and XSD files.

I have tried to move all XML handling and querying into classes under the Xml namespace and created classes representing the different elements of the schema that we are interested in.

These classes consist of two parts:

- The metadata for the elements as returned by the PHP SoapClient
- Their corresponding XML element.

I used DOMDocument for parsing WSDL and XSD files. I would have liked to use SimpleXML but I could not get their XPath implementation to work as expected.

I have tested the refactoring by comparing the output of tests before and after. They are 99% identical. The only difference I see is that 2 places (like here) elements are now detected properly as nillable. Consequently they are no longer part of the constructor arguments. I consider this a bug fix.