Trebuchet: fix uninstall app from shortcut

When uninstalling an app from a shortcut, there are 2 incorrect cases:

1.- If the user proceeds with the uninstall process, all the shortcuts references are removed
from the workspace, except the one used to start that process, because the shortcut is
removed from the workspace, but not from the favorites database. A reboot of the device
will restore the shortcut into the workspace again.

2.- If the user cancels the uninstall process, the shortcut used is not restored, because
it was removed in the drag&drop process.

This change restore the shortcut prior to start the uninstall process. For restoring the
shortcuts the patchset verifies 3 conditions:

1.- If the shortcut was in the desktop, the shortcut is restored in the same position.

2.- If the shortcut was contained by a folder with one or two shortcuts, then the folder
is removed in the darg&drop, so the folder is recreated in the same location, and all its
shortcuts are restored

3.- If the shortcut was contained by a folder with more than 2 shortcuts, the shortcut is
restored in the same folder.

If the user proceeds with the uninstall process then as the shortcut is present in the
workspace, the shortcut will be removed.

Change-Id: I95e2684d01cabd0d5a04f17c896c72cad2b14d38
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Merge remote branch 'cm/cm-10.1' into cm-10.1