Make compile on OSX

(cherry picked from commit 1005ecfd7bff36e9be7942ecf20cbe8c23ae1169)
Make Grantlee required.
Pass REQUIRED to find_package(Grantlee).

I wasn't doing it before so that the user would get a complete list of
missing packages from feature_summary, instead of a failure halfway
through. But templates/CMakeLists.txt calls a macro in grantlee so it fails
halfway through anyway.
Remove duplicated call to feature_summary.

It's already being called in the root CMakeLists.txt, calling it again
in plugins/ causes double output.
Move __pycache__ to excluded folders, it's not a file
Move __pycache__ to excluded folders, it's not a file

(cherry picked from commit 57997f72a5c7421141d23c6d95b060e9f484f2b2)
KF5: Port KTabWidget -> QTabWidget
KF5: Port KPushButton -> QPushButton
KF5: Port KTempDir -> QTemporaryDir
KF5: Port KTemporaryFile -> QTemporaryFile
KF5: Port more KAction -> QAction
KF5: Port KIcon -> QIcon
KF5: Port KListWidget -> QListWidget
KF5: Port KMenu -> QMenu
KF5: Cleanup unused and deprecated headers
KF5: Port some uses of KHBox/KVBox
Reduce map look-ups

Don't check contains then fetch the value. Fetch the value and then make
sure this was found. In this case we can just use the value because we have
pointers. If the pointer is null is just like it wasn't initialized in the
first place.
Also prefer iterating using interators than through the keys and then
looking them up.
KF5: Port a few more uses of KMimeType
Minor: Add missing newline at EOF
Cleanup sublime examples

We don't need KAboutData here, these are just simple executables for
testing