Fix for schema inclusion loop

This is a fix for https://github.com/metaleap/go-xsd/issues/9

Plus https://github.com/lobatt/go-xsd/commit/e3f303b5dac188482dba2c1a0dc0cf35cc8ff21b
is for a minor fix that some nested complex type not generating safe identifier. example below:
 
                      <xs:element name="SCTE-35DistributionRestrictions" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>Accommodates the 2012 revision to SCTE-35 that adds distribution bits. (v3.0)</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:complexContent>
                                    <xs:extension base="SCTE-35DistributionRestrictions">
                                        <xs:attribute name="tierLevel">
                                            <xs:annotation>
                                                <xs:documentation>Signals receivers whether or not to pass the SCTE-35 message.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction base="xs:nonNegativeInteger">
                                                    <xs:minInclusive value="0"/>
                                                    <xs:maxInclusive value="4096"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:attribute>
                                    </xs:extension>
                                </xs:complexContent>
                            </xs:complexType>
                        </xs:element>