Fix tst_QJSValueIterator::iterateString() on Mac OS X

The iterator stores the Property pointers the QV4::ObjectIterator returns,
which breaks when iterating over string objects, that always return the
same Property pointer in subsequence calls: &this->tmpProperty.

Given that internally QJSValueIterator already advanced the iterator to
the next property, value() will return the next value for strings instead
of the current value.

This patch eliminates the permanent storage of Property pointers in QJSValueIterator
and instead get()'s the properties when requested. This is slightly slower,
but safer.

Change-Id: I59028319a0b5dff339a7c9500f117b73f0677451
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Fix FDE generation on Intel 32-bit

Make the generated FDE program reflect that ESI and EDI are callee
saved registers. For some reason the program we've had in qv4unwindhelper_p-dw.h
for 32-bit was already correct, but the generator was broken (and even mixed
up the registers).

Change-Id: Id8132580d20636c8ea17f8460d161547227c95fc
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>