Settings: Forward port sound settings

Squashed port of the following commits:

Forward port miscelaneous audio features
This commit adds:
 - Silent mode
 - Volume panel style (ptunstall)
Change-Id: I21742ab94e45407111794b5868d9b4f14d7488da

Settings: Call Ring mode what Google calls it, not Silent mode (1 of 2)
Silent mode -> Ring mode cleanup
Change-Id: I4c0c182d59ebeb9e2372a24131506f1a111fe33f

SoundSettings: Show DSPManager
Change-Id: I199150b82c6f5eb72f419dc8c70fb27ed24fbfda

Notification sound-to-vibration conversion toggle
Allows to change the new feature of AOSP 4.2, where all notification are
changed to vibrations on vibrate mode. Instead, allow the old behaviour
to silence sound notifications and to only play vibrations if desired.
Change-Id: I267fc4b62ff045f305cf29c1b4f365e91f7cf1db

Feature : Volume adjust sound preference 2/2
This patch allows the users to choose if they want the audible tone when adjusting the volume
Change-Id: I6d43cba83bf4cf10f2d50502e7cee5408a73c520

Add an option to allow a (subtle) notification vibration during calls.
Change-Id: I7dfbb64334e0e8e7f98d38bf503c053ff1880658
JIRA:CYAN-1550

Hide Volume adjustment sound if it's not supported
Change-Id: I8c21c04135ac8d22208c8a2c2feff3863bd43cc0

Allow to hide Vibrate on notification option if it's not supported
also improve codes for need voice capability

Change-Id: If99335301af80c5f5d2c1ed3c20430cb363a690c

Make sure to not crash if DSP manager and/or development apps are
deactivated or deleted.

Change-Id: I92ea5a44bedbb036d59dde11e83052338e9765e8

Cleanup: Use a helper class for system setting binary toggles.
Change-Id: Iad7f8a6bf85b23223e1def18e8c9eaa0f8dd253c

Cleanup: Don't use getApplicationContext() where not needed.
Change-Id: Ie2232857cf88c98c9f2b76996a500e3d3696e6e2
Signed-off-by: Arnav Gosain <nolinuxnoparty@gmail.com>

Conflicts:

	res/values/cm_strings.xml