BuildConfiguration: Use ProjectMacroExpander

So that in the context of the buildconfiguration and its buildsteps
current project and others refers to the project of the bc.

Task-number: QTCREATORBUG-12869
Change-Id: Idad7741301432a5fddffdff4225762f4100a3dee
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
ProjectMacroExpander: Actually make it work

Fixes 7 of 9 variables which didn't work due to kit always being null.

Change-Id: I47fbb9ba8aea4736c137939b7ec1d685f94d3fca
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
CMakeProject: Add option to override the make command

Task-number: QTCREATORBUG-11788
Change-Id: If6a908ced927051b8ae131f4876c24a04b0ccaf7
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Fix handling of current node if project tree view is hidden

I'm not 100% sure that this fixes the crash from QTCREATORBUG-12876.
But it's clearly wrong to only check for removed nodes in the project
tree widget and thus only if a tree widget is shown.

Task-number: QTCREATORBUG-12876
Change-Id: Iaaafcef0fe408e8bc2f4d2b61133f4419a612d57
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>