Add ability to exclude apps from the sidebar [1/2]

Change-Id: Ia4d9b2590a228fd1b8ad95a68919cfd3b062213b
Add a receiver to listen for packages being added and removed so the sidebar can reflect those changes.

Change-Id: I336734060f3064fcc3f60d9f48d4a33308a3f20e
Avoid NPE when mExcludedList is null

Patch Set 2:
  Correct logic

Change-Id: Ibaf9ff6996b514284e52a8adcfb5578f9d072eb0
Make sure mScrollView is not null when calling layoutItems from content observer.

Change-Id: I34e5be733af3166b3a88150bb5c4574f962be436
Use SCROLLBARS_INSIDE_OVERLAY to reduce excess width of sidebar

Change-Id: I07df99f67ee8ad0443e7e471a6f3c7c2f34293de
Delay hiding app sidebar by 500 milliseconds when an app is launched to prevent sidebar from not being visible but still receiving input.

Change-Id: I12f075537b77311158841183eb1df8a8805f87eb
Launch activity using component name so the correct activity gets launched for applications that have multiple activities that can be launched.

Change-Id: Ifb38cd4c7d8d8ba0db709a5e8bd310a7ac8fa16a
Cancel the auto hide timer when mScrollView receives MotionEvent.ACTION_DOWN

Change-Id: Ief41d298b71329eb5d19ac3d4aa1a07920308110
Disregard case when comparing app names for sorting.

Change-Id: Iecd6b295f5fb8f89fb0e4d3e539796199c7089f3
Use a Collator when comparing app names to account for differences based on the user locale.

Change-Id: Ic93ca46140ff21555cb374f1dad1240774567858