Make use of contains() where appropriate.

Change-Id: I93279572f422ea3b14d7c8467caae746f71e1fac
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Some minor improvements to the Error class.

- Rename "Error" to "ErrorInfo", to make clear that this class conveys
information about errors, including that there might not actually be
one.
- Rename "ErrorData" to "ErrorItem", to make clear that these are parts
of an aggregate structure.
- Introduce ErrorInfo::hasError() for quick checking of whether an error
occurred.

Change-Id: Icea6ed5240d6d14bd30e9cea189c6babd7004792
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Introduce function that gets a single child item of some type.

This is useful for cases where at most one sub-item of a specific type
is allowed. Calling code no longer needs to iterate over the child items
manually.

Change-Id: I6177ab328fed5ad564cf42917f1e6953c717baa3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
make hostOS the default of targetOS again

Otherwise we break profiles that do not set targetOS.
This is the usual case for host toolchains on Linux.

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