Provide a way to stream enums that aren't object properties, added tests for delta streaming, fixed Windows initialization bug.

All of these QHash templates are a mouthful.  Maybe we should use typedefs to give these containers names to make the code more readable and maintainable.  Maybe something like:

typedef QHash<QPair<QByteArray, QByteArray>, const TypeStreamer*> EnumStreamerHash;
typedef QHash<QByteArray, const TypeStreamer*> EnumStreamerDictionary;
typedef QHash<const QMetaObject*, QVector<PropertyReader> > PropertyReaderHash;

I merely make a suggestion.  This does not block the merge.