Deduplicate adapter-of-installed-packages code.

Change-Id: I454ba79eddaaff86233a2cc341f4c8bebe94729e
Remove SystemSettingSwitchPreference.

We should not introduce one-off UI patterns when there are plenty of
examples where the same usage pattern (a feature on its own
PreferenceScreen with a global enable switch in the action bar) is
handled differently everywhere else (e.g. daydream, cast display,
blacklist). This makes for inconsistent UX.
Also, there are discoverability issues: As there's no other case of a
preference with an embedded control widget opening another preference
screen, users won't expect to find another screen behind it.
Additionally - but entirely subjective - the control looks plain ugly,
as the preference padding is too large for the large switch.

Change-Id: I61284e961babefa3748102b05055fb1d03b079b0
Hide heads up settings and show a notice if heads up is disabled.

This follows a UI pattern used at several other places, such as
daydream, screencast, profiles or blacklist settings.

Change-Id: I5635338ceccae8ba8450284d3078889333fb77c6
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0-sgt7

Conflicts:
	src/com/android/settings/cyanogenmod/NotificationDrawer.java