Framework: Forward port Power widget fixes and fix disabling

This commit fixes the ability to disable/hide the power widget on CM10.1, hide
the widget by default and forward ports a few other related fixes:

Author: Danesh
1) Notification Widgets : Fix vibration
The initial value of the array determines how long till the vibration starts,
and second value determines how long to leave it on till.

Since config_virtualKeyVibePattern is in an overlay and we cannot rely on its consitency,
we check the length of the array, and based on it execute the appropriate vibration.

2) NotificationPowerWidget : Snap widgets
Snap widgets in place, rather than allowing partial widgets

3) Framework Track Control : Switch from broadcast to audio service
Ordered broadcast is unreliable. Switch to using the Audio Service's
dispatchMediaKeyWithWakeLockToAudioService as it sends the event to the correct receiver.

4) AutoRotateButton : Minor cleanup
Use setRotationLock to avoid code duplication and staying consistent with framework

Change-Id: I0b5d1853781a7e6541a4a6283e13f8072d9972b3
Framework: Restore Keyguard-obsolete to AOSP state

Some of the CM features code got merged into the obsolete keyguard
code, revert to pure AOSP state.

Change-Id: I6980f9254b49cf1208dd1536f625951d804445ae
Port "Fix display of mobile status bar icon when using airplane mode"

Change-Id: Icb5b33008f97eaefd67bb4e5acd1e38bcf2dcb70
Improve tethering notification icons

Replaces the stock icons with the ones I submitted as part of
http://review.cyanogenmod.com/#/c/15930/ in CM9.

Change-Id: Iecfae9ad579c6c9ae06da0a08b61e9359a8a37b0
Remove GB alert drawable from reboot menu

Change-Id: I77cd3fabaed76c6cdd1ba051d628254c2f79974c