Menu Overhaul clean recommit

(Had to recommit, as I still can't work with git :p)

This makes the menu more configurable.
It makes a lot of those menu applets which just remove parts of the original obsolete.
It does require some changes by theme developers, but the glitches are only visual, function is not hurt.

The list of changes done to the original menu:
- These items can now also be hidden by the user:
 - Favorites
 - System Buttons
 - Selected Application Title
 - Selected Application Description
- Selected application title & description are now left aligned for better readability.
- Search box and selected application info are now positioned based on panel orientation:
 - Top Panel: Search box is at the top, app-info at bottom
 - Bottom Panel: Vice versa
- When activate on hover is enabled, you can now use the context menu correctly.
- Menu opening optimizations from #1469 have been added.
- Further performance improvements on building and sorting the list.
- Search results sorted by relevance.
- Fix for categories not staying selected
- Filesystem access partially taken from #1428
- Application context menu entry 'Uninstall'. (only shows if /usr/bin/cinnamon-remove-app exists)
 - uninstall script needs to be provided by distribution, takes one parameter: the .desktop file (application id)
- Highlight for newly installed applications (if the application was installed since the applet was started)

Not sure yet how the new sort will impact performance.
If anyone with a huge list of applications etc. could test this, that would be helpful.

If anyone has a better idea for the sort score, please tell me.