WinRT Plugin initial commit

Adds launch and debug support for Windows 8 Modern UI apps. Note that
this plugin (currently) requires MSVC 2012 and Windows 8.

Caveats:
  - Kit detection is based on mkspec, so only winrt* mkspecs work
  - Until a deployment step is added to this, it is the developer's
    responsibility to register the app w/ Add-AppxPackage
  - CDB required in kit in order to attach & run with debugger

Change-Id: I94a8eb22c206fe6f75b2f5d052f0bbfedbd96963
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Improve error reporting in winrtdebugsupport.cpp.

Change-Id: Id8d8c70c0a6b2a8470036de546e65346c792365f
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Add PackageManager.

Add package manager class for use in deploy step and app
dialog. Implement add/removal operations.

Change-Id: Id811ebe8da0227563eb917c5dc035e3fa94aa02a
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Debug support: Introduce factory function with error checking.

Change-Id: Iabd7b100c6d62093ac19088eaef4f74b35ad0ee3
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Properly suppress error dialog

errorMessage needs to be an empty string, but valid, to suppress the
error dialog. Calling clear() sets isValid to false, but apparently
resize(0) does not.

Change-Id: I57ece0d31b5014d082e72141276d08a33a232dcf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Guess a better place to find the app manifest

When adding a manifest, use the project directory as the starting
point for the file picker.

Change-Id: I0b493918a397251f9ad82f026f97e2e26452e2ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix potential crash in PackageManager when handling storage

IStorageFolder can fail if there is an old packageId leftover from
a prior removal. Since storageFolder and storageItem point to the same
object, this consolidates the retrieval with success checking.

Change-Id: I9cead1bf2b85bdc150a59ad28870a0a3b9ce1bfc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix compile with new ProjectExplorer-API.

Change-Id: I6ae091f46bde8740bd6abff82fd221f4b7ade619
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Prompt developer registration when package addition fails

Additional error handling so that situations like missing developer
registrations can be handled. If the developer license is missing,
launch the developer license registration window.

Change-Id: I9988422984a902a9df3607db9038a91c90d2a897
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Fix manifest error handling

This corrects an extra argument in the error message and performs a
check to make sure the asynchronous operation is running. Some cases,
such as malformed XML file, can return immediately, leaving the
override cursor set and selection dialog disabled.

Change-Id: I6b9b95a9acc3a79bed6cca22d859832567819e44
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>