Fix user-after-free in QProperty

PropertyData::type() returns a new QByteStream (whose `data` is a
copy of the `char*` name of the property)
However the use of `type().data()` on the stack without saving
its reference means the `char*` returned by the `data()` method
is immediately deallocated in the the `~QByteStream` destructor.
(Detected by AddressSanitizer)
The attached patch fixes it by holding a reference to the
QByteStream returned by `type()` for the duration of the method call

Change-Id: Ia794a1215da7ba4bada19091e6d6acf3e6584c70