KDSDEV-15 porting code from qt4 to qt5

There is still something wrong with the build .pro/.pri files here. I had to manually run, "qmake && make clean" in each of the exmaple subdir before an overall make would successfully finish
KDSDEV-15 compile++ for compiling against qt5
KDSDEV-15 qt5 port changes, also made invocation of kdwsdl2cpp non-silent in kdwsdl2cpp.pri
KDSDEV-15 Adding/modifying some qDebug()'s to help track elements seen in wsdl file to the generated api files
Clear the list of setFooHeader methods when moving to the next class.

With Qt4, this meant some setters were missing (in groupwise.wsdl,
GroupWiseEventsBinding::setGwTraceHeader)

With Qt5, it even lead to random compilation errors, due to undefined
QSet ordering, which meant the .h and .cpp got the method in a different
class.
Detect the case where we create multiple classes with the same name

(in the same namespace, of course)
Revert "KDSDEV-15 Adding/modifying some qDebug()'s to help track elements seen in wsdl file to the generated api files"

This reverts commit 86ceab686297c038f3f9be155a01c80b3011acaa.
Fix generation of classes with nested namespaces (A::B::C).

Fix disappearing classes when the same file has classes with the same
name in different namespaces.
Fix job classes to be per-binding.

Otherwise, the classes for both bindings were overwriting each other
(and in a Qt5 build, a different one would win in the header and in the impl),
and this means half were missing.
Qt5 detected that this code was invalid, the QCOMPARE was missing
KDSDEV-15 fix to QName::qHash() to prevent duplicates in a QSet<QName>. Also makes it correspond to QName::operator==.
KDSDEV-15 added checks for version of Qt environment
KDSDEV-15 QName c'tors now initialise member data as previously there was a potential to use QName::prefix() with an uninitialised mPrefix. Also the second c'tor has been extended to cope with the potential that the second argument could also contain a prefix. It now uses QName::parse() to "do the right thing" - that is - if the prefix is present initialise mPrefix and populate mLocalName as per usual. The is no longer a need for the assert as that is handled in QName::parse().
KDSDEV-15 oops complile++ fix
KDSDEV-15 futher qt4/5 checks needed for QTcpServer::incomingConnection()
KDSDEV-15 reverting changes to QName as they did not make sense wrt to XML namespaces
KDSDEV-15 Unittests now compile against qt5, one minor point is that in KWSDL::Definitions::loadXMl() at line number kdwsdl2cpp/wsdl/definitions.cpp:171 we hit what boils down to a qWarning() invocation. If we have QT_FATAL_WARNINGS defined this will baulk. In my local checkout I have modifed this to qDebug() line rather than a call to the message handler. The code disambiguateis currently inline within cleanupUnusedTypes() to test functionality. There is a TODO to refactor this out along with the functionality of the cleanupUnusedTypes(). So we'll have a base class that builds a KWSDL object and then another process class which offers cleanupUnusedTypes() and disambiguate() given a KWSDL object.
KDSDEV-15 Removed redundant if {}'s and errant use if tr()'s

Removed redundant if( count > 0 )  around a foreach loop. Removed
errant use of tr()'s in a qWarning(). Added a list of conflicting type
names to the qWarning().
add comment (because I use this code as example during Qt trainings)
Switch to the 2001 version of the XML Schema namespace.

Pre-requisite for the use of xsi:nil (github issue #7)
The 1999 version is still understood during parsing.