cpp: cmake: Don't enable -pedantic if it breaks long long use

GCC 4.2 doesn't support "long long" in -pedantic mode due to it not
being part of the C++98 standard.  This patch only enables
-pedantic if "long long" works.  For later compilers this isn't a
problem, and the updated test won't change anything.
cpp: test: Use correct suffix for long numeric literals
cpp: test: Constrain long values to 32-bits

The L numeric literal suffix may be constrained to 32-bit values on
some platforms.  Test cases use values in this range only.  The actual
PositiveLong and NonNegativeLong types are 64-bit quantities on all
platforms; this contraint is for initialising with literal values only.
Merge pull request #975 from rleigh-dundee/cpp-pedantic-long-long

cpp: cmake: Don't enable -pedantic if it breaks long long use