Use new custom parser private api and switch to 5.4 branch

Change-Id: Ie47ce5da4abe9027ca192fbc5c096df49e0eaff5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Fix QChangeArbiter compilation on Windows

The word interface is a reserved keyword in C++ compilers on Windows. The
header used a different parameter name than the source file anyway, so
just rename to observer to side step the issue and make the definitions
and declarations match.

Change-Id: Iec89928489481a3a5cdcb6a0ae06097924ebba61
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Disable precompiled headers.

Since there are C sources included precompiled headers lead to various
linker errors.

Change-Id: I591dc16e608548544ab1d5b3e9088c776e0e560c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Don't redefine _USE_MATH_DEFINES macro definition if already defined

Change-Id: I915e76d0fc6d1cf9cee4b96fa9902bae37591192
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>