Adds Qt5 support

Qt5 moves all of QUrl's query string functions into a separate class (QUrlQuery).
With the way that class works, this means two more lines for each query operation (and an extra stack allocation) for seemingly no good reason.

I could do this in an (in my opinion) cleaner fashion with macros, but I recall a lot of people don't like function-like macros for things like this.