[new compiler] Add support for QML list models

List model definitions make heavy use of custom parsers, which requires AST
access as well as a general port to the new QQmlCustomParser API.

Additional fixes in the custom parser support were needed to pass all tests:

 * Fix support for AcceptsSignalHandlers and AcceptsAttachedProperties
 * Don't call setCustomData unless the compiler generated data earlier

Change-Id: Ic42f8a890391267c94f63d35f055b60fdbf3c83d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix duplicate property/signal name detection for group objects

For a rectangle like this:

    color: "blue"
    border.color: "red"

we must not issue a duplicate property error for "color" because they
are in different objects. This patch fixes that by moving the sets for
checking the presence of these into the object itself, so that the qSwap
on _object also transitions to the correct property/signal name set.

Change-Id: I9ac0e5877eb9f60b618b031f99290707de28112d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix implicit component determination for composite types

We want to search every object for properties that implicitly define
components, unless the object itself is a Component. That means if there's a
QQmlType and that meta-object is QQmlComponent's or there's no QQmlType because
it's a composite type.

Fixes QtQuickControls parsing.

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