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
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
Storage Settings: Allow user to trigger a volume rescan

This change allows to trigger a rescan of a volume with the next restrictions:
- Internal volumes if they are emulates
- Primary volumes
- Non-Removable volumes

Ported from: http://review.cyanogenmod.org/44586

Change-Id: I7e75a324938d8081fd715f702d50f1fdceabd96d

Conflicts:
	res/values/cm_strings.xml