Allow some customization in Launcher3

This patch allows a user to customize:
- Grid with and height
- Default homescreen position
- Visibility of the search bar

These items can be configured in a new Activity, which replaces the system
settings as target of the icon in overview mode.

Shortcomings:
- Bounds for cols, rows and defaultWorkspace may need to be adjusted
- When one of the values changes, the Launcher activity gets recreated
  completely.
- When searchbar is hidden, you also lose the visible hints for the
  remove/appInfo drop targets.

Change-Id: I5006d01f8a85e4daf3c3bb9a3dfb57c70e968878
Launcher3 : checkItemPlacement fixes

This patchset addresses two bugs :

1) Incorrect casting of key causes mismatches
2) On hotseat items 2 and above, the occupied hashmap is populated
with the CONTAINER_HOTSEAT key, however if its a new item and its required
cell is not already been taken, the code falls through to the workspace checks.
Make sure hotseat items are treated separately.

Change-Id: I3f22e46940f62a223453bd05314eae2a642c899a