CppTools: Add API to set/query compiler call data

...and make some comparison functions public.

Change-Id: If4c9a95031dece32073ce111484a890230190688
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
QbsProject: Provide compiler call data

...so that analyzers can make use of it.

Change-Id: I9694535f02f631cac266c26b4f4c973a06c6c899
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
QbsProject: Cancel (last) C++ indexer before new code model update

...otherwise we might end up having multiple indexer running for
different (build) configurations.

Reproduce e.g. with:
 (1) Open a project (adds "Parsing C/C++ files" progress notification)
 (2) Trigger build of project
 (3) While it is still building, switch between e.g. Release and Debug
     build configuration
 (4) Once the build is finished, a new code model update is pushed but
     the indexer for the old configuration might still run

Change-Id: I685d0b3eeeb43ba5923c6af0e6b16aee6609419b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>