Warn about types we can't serialize, and skip empty values.

There's little point running the expensive canSerialize() on empty
variants, or sending them to the client for that matter, and we get
quite a few of those here.
blacklist MSVC compilers older than 2008
CMakeLists.txt - blacklist Clang versions less than 3.1.0
Introduce signal monitor tool

This tool provides an interactive of QObject signals. It's still work in
progress, some major features still need to be implemented:

  - display of time marks in the event view
  - print signal names as tooltips and in the graph if sufficient space
    is available
  - interactive range selection
  - timestamp rubberband
  - ...

SignalHistoryModel::Item also might need cleanup.
Improve colors in the signal monitor and restore selection
Remove debugging left-overs
Show tooltips for signal history
Don't show horizontal scrollbar for event view

Let's not show it by accident. We have our own, custom one.
Optimize layout compution for the event history
Use better formula to find event tooltips
Simplify time management in signal history

Introduce RelativeClock class to manage application start offset.
Add label for the signal monitor's zoom widget
Extract SignalHistoryView from SignalMonitorWidget

I need to capture more widget events and doing all this redirections
in SignalMonitorWidget would become ugly.
Drop C++11 attribute declarations [qt4-compat]
Replace uses of qintptr with size_t [qt4-compat]
Avoid using QStringLiteral [qt4-compat]
Declare a few missing metatypes [qt4-compat]
Use QMetaMethod::signature() when needed [qt4-compat]
Document the function for interning strings
Use QSet instead of QHash for string pooling

Apparently the iterator returned by insert() is not used anymore.