[new compiler] Improved error handling

* When reporting errors with literal bindings, use the correct location for the report,
  the place where the literal value is declared.
* Create property caches for group properties, so that later in the property
  validator we can do extra checks
* Report an error when trying to declare an object to the default property of a group
  property
* Similarlyl report an error when trying to use sub-objects with value type properties
* Temporarily change tst_qqmllanguage::errors() to also try to instantiate the component,
  because for the moment some errors are only reported at instantiating time instead of
  compile time. That'll be fixed later when move checks get moved into the property validator.

Change-Id: Icaa8d2edc7918c03001c40fba7880ee5cac10e69
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Report errors when trying to bind to read-only properties

The only exception are initializers for read-only property declarations.

Also adjusted the error location of one test to point to the correct value
location as opposed to the property location, as with all the other similar
errors.

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