Better handling of property changes when restoring a build graph.

If a property change is discovered in any given product, the current
code throws away the whole build graph, generates a new one and then re-
inserts selected data from the old one. With this patch, we only
regenerate the build data of the affected product (and still re-insert
some existing data into it as to not rebuild artifacts that are up to
date).

Change-Id: I49e475c66dfb84ad20253ab53daf25acfe5a738b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
yield error on assigning array of arrays to stringList properties

Change-Id: I8178645be6e534e716e20e6c309815e15fdc75a6
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>