QbsProjectManager: Fix infinite loop on per-product build.

- Setting the QFuture result is not enough, we also need to emit the
  finished() signal.
- Never fail silently; use soft asserts for things that shouldn't happen
  and compile pane output for things that can.

Task-number: QBS-705
Change-Id: I4dad18c2ad573a92f2a0c5aa92b596851c56541e
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
QbsProjectManager: Fix Per-product build.

We compared the display name to the unique product name to look up
the product to build, but these two are typically not the same.

Change-Id: I82d1433c5c830a38c55f6b8827a5137ff31fd859
Task-number: QBS-705
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>