Fix for #2969. Added ability to arbitrarily launch activities.

Change should be straight forward.  Only important change is the new start_activity path and startActivity function.  Had to add _startApp to support existing calls that are tightly coupled to the old startApp signature.
rather than moving this to `_startApp`, what about renaming this to `this.startAUT`, so it's clear that we're not starting just any app, but rather the specific app under test?