New generic background restrictions.

This modifies the existing rigid background restriction to
a more moderate policy that we can (eventually) apply to all
apps:

- After N minutes no longer in the foreground, any background
  services running in the app are stopped and no more can be
  started.
- No manifest receivers for the application will be executed
  if the broadcast is not being sent explicitly to that app and
  the app is not running.  (Eventually we should tighten this so
  they won't be received if the app is past its N minute
  background window.)
- Other non-background processes may still bind to services in
  the background process, which will raise it to back to an
  executing state...  so things like syncs, jobs, live wallpapers,
  accessibility services, etc still work.

Change-Id: I08ddbfdf640ef324a27b2eb9eecd9499f3ebddd9
4 files changed