fix segfault during cleanup
fix v8/cpgf cleaning up sequence
fix cpgf class registration to module

when a nested class is created it is first registered
incorrectly (as it does not have the parent assigned yet).

Once the new parent is set, the original qualified name
was cached - this disabled usage of e.g. container iterators
as e.g. vector<a>::iterator would be overriden by vector<b>::iterator
(both being counted as only "iterator").

This patch resets the qualified names and forces to
re-register the class into the module with the new fqn.
fix whitespaces
fix tests: include type traits early

the std::string type traits (such as serialiser) are
cached from the first time its used to define e.g. a field

subsequent uses of such type dont have the specialised serialiser
as its used from the first time it was generated (assigned to
GMetaType virtualFunctions).

An alternative fix would be to clear mapped classes cache after each
test.

Note: the tests compiled with -O3 weren't affected, this was reproducible
only with -O0 compile flag.
fix return type

Conflicts:
	include/cpgf/gmetacommon.h
fix tests crashes
fix tests: propagate item type name

baseName in typeData is set to qualified name and is used as it.

once the item changes its qualified name, e.g. during reparenting,
the basename of its typedata should reflect it as well.

Conflicts:
	include/cpgf/gmetacommon.h
improve tests building
fix whitespaces
enable more complex return types
ignore downloaded file
Merge pull request #14 from cpgf/hotfix/improve-stability

stability improvements
Merge pull request #17 from cpgf/feature/complex-type-support

enable more complex return types
Merge remote-tracking branch 'origin/develop' into feature/clang-support