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.
The NotImplemementedError is used below in startActivity.  Had to remove the semicolon in `, safely = require('./helpers').safely;` to add the next line.