Forces Windows (Vista and above) shutdown to wait qBittorrent to terminate cleanly

This pull request is related to issue #1535 

Starting from Vista, Microsoft has changed the shutdown management.
This patch tries to avoid the brutal kill of qBittorrent process before its clean termination.
> Why Qt5-only restriction?

Well, first of all I wanted to be as much conservative as possible avoiding to inject code which I would not been able to test.
In second instance because I was not completely sure (I only made a fast search) QAbstractNativeEventFilter and installNativeEventFilter were fully supported on Qt prior to 5.
Now I googled better and I understand QAbstractNativeEventFilter is supported while installNativeEventFilter is not supported (If I understand correctly the Qt documentation, I need to reimplement QCoreApplication::winEventFilter instead).

> If installNativeEventFilter only works in Qt5 maybe we can just ignore windows native events altogether and always defer shutdown from qbtsession destructor?

No we cannot. I tried that way but I found it is only working when you shutdown just after closing qbt. It doesn't works if you shutdown without closing qbt.
I will try to write down the two implementations for 5.x and 4.x (7 or 8)...