Sanitize the project setup API.

Ever since we introduced "overridden values", the setter for
the build configuration has been pretty much an empty shell, containing
only the build variant and the profile. We now make that explicit,
resulting in a less confusing API that does not expect the caller to
know how to encode profile and build variant information in a QVariantMap.

Change-Id: I60183fc1884a884c9ceba34d7eb460c261be47ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reduce code duplication in blackbox tests.

Change-Id: I0154138ca2db91ce5ff04a109fb7e71af1b37c25
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>