Change QList to QSet in a few places to improve performance.
Add automatic header file dependency for all projects.

This should make it possible to always use incremental builds and never
need to clean things again. Thanks to the undocumented qmake option:
CONFIG += depend_includepath