[new compiler] Fix property initialization order for mixed list and default property setups

Get a little closer to replicating the old compiler's behavior without
introducing a new nested data structure for lists:

* List property assignments should happen in declaration order for the items.
  Instead of doing magic in QmlObject::appendBinding, simply traverse the UiArrayBinding
  members in reverse order. Within a list, the items remain in order then, due to
  QmlObject::appendItem prepending. In the overall picture for the entire object,
  the reverse initialization order for properties is also preserved this way.

* When an object has property bindings to the default property and also bindings
  to a named property that - after meta-object determination - turns out to be
  the default property, then we need to merge the bindings and preserve the
  declaration order. (tst_qqmlecmascript::defaultPropertyListOrder checks that)

Fixes tst_qqmlenginedebugservice that expects bindings to an entire list to
happen in reverse order (like other properties).

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