converted all foreign controls to ControObjects Slave in BpmControl

This ensures that no update missed from other engine controls in case of later changes.
Include what you use. Generally, don't include whole modules like QtGui.
Fix clang memcpy warning.
Style pedantry.
Fix shadowed overloads discovered with clang.
Remove unused variables and fix unused warnings.
Fix warning in test.
Mis-matched tag for StatReport.
Include what you use. Get rid of QtGui include in wwidget.h.
Delete leaking ControlObjectSlaves in BpmControl.
Prevent duplicate connections to the underlying ControlObjectPrivate if connectValueChanged() is called multiple times on a ControlObjectSlave.
Fix connection type argument in ControlObjectSlave.
Header/include cleanups across the codebase.

* Eliminate all instances of including QtCore, QtGui, or QtXml.
* Replace all old-style Qt header inclusions with new-style (e.g. #include <application.h>).
* Include QtDebug instead of QDebug.
* Update many classes to include the Qt classes they use in their header and implementation file.

This speeds up compile and link performance and reduces the size of the compiled object files. My build directory dropped by 50MB.
Strip unnecessary parentheses if only one search clause is present. Update test expected output to expect album_artist filter in addition to artist filter.
Need QLibrary for two files under linux.
Resolved merge conflict