winrtrunner: Move COM initialization into the private class

This ensures Appx engine subclasses get COM initialized in the same way.

Change-Id: Ib376842f808488353d19fe36c76bb2411332c0e4
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
winrtrunner: Add an inherited method for creating packages

This method can be used by AppxEngine subclasses for creating package
(*.appx) files.

Change-Id: I7aab9bced144353c3c9e8cf6fbb914bd2f5b7fbb
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
winrtrunner: Support Windows Phone 8.1

This allows the runner to deploy to Windows Phone 8.1 devices
and
emulators.

The following limitations are noted:
- App argument passing doesn't currently work. A workaround
could be to
  modify the entry point in the AppxManifest.xml, which would
also
  require changes to qtmain. WP8.0 already uses a similar
workaround,
  but this is messy and should be avoided if possible.
- Querying for the application state doesn't work, so -wait
won't exit
  if the app stops. A workaround for this exists in WP8.0, by
passing
  the -qdevel parameter to the app, but this is invasive. If
an
  alternative can't be found, this can be fixed in a follow-
- Stopping applications doesn't appear to work (the API call
succeeds,
  but the app remains running). One workaround is to -remove
the app.
- Getting the exit code still isn't possible.

Task-number: QTBUG-37771
Change-Id: Ifa7188fc2ccb156e4c411b50fefd4f12a0590883
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Merge remote-tracking branch 'origin/stable' into 5.3

Change-Id: I78a250e8631706606e6b003b28cdfb90ad692abc