Breaking Serialization Refactoring
- Remove UserObject from the system
- Make Serializable objects as light as possible
- There is a little performance hit that needs fixing due to the creation of ObjectLayout many times
- There is a memory leak in GetIterator, should delete the iterator

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Merge branch 'master' of https://github.com/MHesham/Serialization

Conflicts:
	ObjectSerializer/Include/ISerializable.h
	ObjectSerializer/Include/ITraversable.h
	ObjectSerializer/Include/ObjectFactory.h
	ObjectSerializer/Include/SPair.h
	ObjectSerializer/ObjectSerializer.vcxproj
	ObjectSerializer/Source/ObjectSerializer.cpp
	TypeInfoCollector/TypeInfoCollector.vcxproj
	UnrealCompiler/UnrealCompiler.vcxproj