settings: Enable location mode header switch

Change-Id: I347e769351bc15daa87d3b6d684afe4e80416ecc
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>

Conflicts:
	src/com/android/settings/Settings.java
Settings : Switch state fix

Since the switch views are shared, we need to recreate them
in order to prevent from being reused as they don't share state.

Change-Id: I4d7038f37883e1791c8c2b0009f0adb85ebb2b88
Add direct launcher prefs access to home settings fragment.

Also move it up to interface, as it was placed there in previous CM
versions as well.

Change-Id: I55ef7e56be9e59f966da73f839b531b3c74c7a90

Conflicts:
	res/xml/settings_headers.xml
	src/com/android/settings/Settings.java
Settings: Don't hide home category if user has a settings capable launcher

By default the settings app hides the home category if it notices the user
has 1 launcher. Due to the ability to have settings per launcher, if the
user only has one launcher which happens to support settings, hiding this
category renders that feature useless.

So now we check if the user has < 2 launchers AND whether they support
a settings panel.

Change-Id: Id5dd94091a31fd9ee3637e0975816481903255bf