Fix for..in with duplicated properties

Properties that already appeared earlier in the
proto chain should get skipped by for..in (as they
are inaccessible from JS).

Change-Id: Ia0d9cc8582f96df4b2aaaa409d884f206456fe89
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix Array.prototype.splice to not require the instance to be a true array

Use putIndexed instead of arraySet, so that it also works with "host" arrays.
Fixes tst_qqmlecmascript::sequenceConversionArray, which calls splice on a
JS-wrapped QList<QString>

Change-Id: Ic9cbf12d625adf7c3c47ce4a7996d2623f843601
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Don't allow for a QJSValue to be taken from one engine to another through QVariant

Change-Id: I21127d22f595b0ff88f6073bddf617423ad17867
Reviewed-by: Lars Knoll <lars.knoll@digia.com>