Rework thumbnail handling

Since ids of media file are usually not continuous, the original file of thumbnail are
sparse. When there are big numbers files on ex\
ternal storage, the size of this file will be horrible.
Ex, when the id is 20000, then the .thumbnails/.thumbdata3-xx file will be 50000*10k = 488.28M.
Can refer http://stackoverflow.com/questions/12396715/android-huge-thumbdata4-file-in-dcim-folder
Because after 4.0, MediaProvider will scan any files, this will be a big problem. So I modify MiniThumbFile.java to avoid this.
According to the id, we now produce an index file. In this index file, one id will use BYTES_PER_MINTHUMB_INDEX(8) bytes in offset (i\
d+1)*BYTES_PER_MINTHUMB_INDEX. The data of these 8 bytes is the index of thumbnail file. The first BYTES_PER_MINTHUMB_INDEX bytes kee\
p next available index. And when you need insert a thumbnail, the index increase by 1. In this way, the block data in thumbnail file \
will be continuous. And thus unnecessary zero paddings will not be saved.

Change-Id: I66005dd69b0a5c8f4353bd7a8225d163a654fd2d
This avoid a conflict in PieMenu.java with bb merging
Pie: remove unused variable
KeygaurdSelectorView: Unregister reciever in onPause

Also check if we already have a reciever instance before
creating a new instance

Patch Set 2: Refactor field reciever to mUnlockReciever
           : Add null check to Context#unregisterReciever
Patch Set 3: Add null check to Vibrator#vibrate(int);
Change-Id: Ie9b03b20da29d05a64293ef6b7931393c34796a2
Fix Lockscreen FC/reboot

PS2: register receiver in onResume()

Change-Id: If475f0750bbc408e727eb0d3cf532c936ad418e8
Signed-off-by: Gergely Szell (sethyx) <szell@hu.ibm.com>
Reworked transparent layer
When a halo'ed window is opened, the transparent layer will be always visible. It will manage the background dim.
This fixes some apps dimming its sandboxed processes (like chrome).

LayerActivity manages its own lifecycle. When it's focused after paused it finishes itself.

System processes (identified by "android" pkg in SystemUI and system uid in Activity) don't use the layer and still use their own background. This
has been kept this way to not interfere with their activity.
LayerActivity: Corrected lifecycle
Should contemplate the case that the activity gets stopped
Fix little derp causing visual bug

To reproduce, disable halo, and press "clear all notifications" button

Change-Id: Ice7ab62229e27db53ef51fd5df55dbcd0a86358b