parameter tree parser: do not try to access the first character of empty strings

funnily enough, this usually worked (i.e. it returned some garbage
which was not recognized by the switch statement that followed), and
was not detected by valgrind (on my machine at least, I suppose this
was because the address to which the string pointed was still a valid
memory location created by some previous user). The libstdc++ debug
mode (-D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1) did find it
though...
Reduce number of warnings.

nullptr-test.cc: Move semicolon to own line to prevent
Clang warning.
typetraitstest.cc: Exclude use of deprecated types
PointeeType and ReferredType with
DISABLE_DEPRECATED_METHOD_CHECKS defined.