Fix creating constructor for abstract complex types (more than one level inheritance)

I've added support for s:include directive in WSDL. Example (used from http://www.coderanch.com/t/531414/java-Web-Services-SCDJWS/certification/valid-include-WSDL):
```xml
<wsdl:definitions targetNamespace="http://www.example.com/req" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oms="http://www.example.com/oms" xmlns:req="http://www.example.com/req" xmlns:faults="http://www.example.com/faults">  
    <wsdl:types>  
        <xs:schema targetNamespace="http://www.example.com/oms">  
            <xs:include schemaLocation="http://soabook.com/example/oms/orders.xsd"/>  
        </xs:schema>  
        <xs:schema targetNamespace="http://www.example.com/faults">  
            <xs:include schemaLocation="http://soabook.com/example/faults/faults.xsd"/>  
        </xs:schema>  
        <xs:schema elementFormDefault="qualified" targetNamespace="http://www.example.com/req">  
            <xs:import namespace="http://www.example.com/oms"/>  
            <xs:element name="requestOrder">  
                <xs:complexType>  
                    <xs:sequence>  
                        <xs:element name="CUST_NO">  
                            <xs:simpleType>  
                                <xs:restriction base="xs:string">  
                                    <xs:maxLength value="10"/>  
                                </xs:restriction>  
                            </xs:simpleType>  
                        </xs:element>  
                        <xs:element name="PURCH_ORD_NO" minOccurs="0">  
                            <xs:simpleType>  
                                <xs:restriction base="xs:string">  
                                    <xs:maxLength value="35"/>  
                                </xs:restriction>  
                            </xs:simpleType>  
                        </xs:element>  
                        <xs:element name="ccard" type="oms:BUSOBJ_CCARD" minOccurs="0"/>  
                        <xs:element name="item" type="oms:BUSOBJ_ITEM" maxOccurs="unbounded"/>  
                    </xs:sequence>  
                </xs:complexType>  
            </xs:element>  
            <xs:element name="requestOrderResponse">  
                <xs:complexType>  
                    <xs:sequence>  
                        <xs:element ref="oms:Order"/>  
                    </xs:sequence>  
                </xs:complexType>  
            </xs:element>  
        </xs:schema>  
    </wsdl:types>  
</wsdl:definitions>  
```
Unit Tests are included (extended for this case). By this I've fixed using --constructorNull param during creating constructor.

We currently have a risk of parameter name clashes: Current constructor has a parameter `$id`, parent class constructor has a parameter `$id`, functions cannot have two parameters with identical names.

This risk only increases with this fix as we support multiple parent classes properly.

I am considering whether parent class constructor parameters should include the name of the class where the member is defined. This would mean that the constructor signature for the `NicknameUserAuthor` in the updated test case would be:

`function __construct($nickname, $userAutherUserId, $authorFirstName, $authorLastName)`

What do you think about that?