Add system|signature permission for intercepting package launch.

The preLaunchCheck (add, remove) functions which allows an application to
perform any checks before the framework launches the app
needs to be a protected with a system|signature permission.
This change defines the permission and protects the functions with it.

Change-Id: Ib62e25b780df39c4a7d9d1e4eaf3fc98ffa4089c
PackageManager: Add configuration APIs for pre-launch checks

This change replaces overlays with an audited set() API, allowing
application with INTERCEPT_PACKAGE_LAUNCH permission to bootstrap
themselves.

Additionally, checks have been added to ensure that the custom prelaunch
check activity always resolves to a valid target.

Change-Id: I7f6be647fde3ce4ed699e6abfbe0392176ec96d3