Ditz issue update
Better C++ static decl fix

When doing a single file build, drop DUK_INTERNAL_DECL declarations which
would otherwise be mapped to "static".  This avoids the problem with C++
where a static data symbol is both forward declared and defined.

With this change static definitions must appear before their first use in
the single file build.  This requires a change in combine_src.py which is
done in a separate commit.
Handpick files to satisfy static data dependencies

Move a few handpicked files from the alphabetical file list to the top of
the list to ensure that static data definitions appear before their first
use in a single file build.

This is necessary because there are no forward declarations for static data
symbols anymore (which was causing C++ issues).  See GH-63.
Update code issues with c++ static visibility fix
Release note: better C++ symbol visibility fix
Add a g++ test target (duk-g++)

This target allows quick testing of g++ compilation during development
before any matrix testing etc.
Use 'g++' for arch string when using g++
Rename GPP to GXX
Merge branch 'fix-cpp-static-better'

Use a better fix for C++ static declaration issue (see GH-63).  Avoid
using both a (forward) declaration and a definition for static symbols
which is not allowed in C++ and is not clean in C either.  The concrete
changes are:

- Add a `#if !defined(DUK_SINGLE_FILE)` wrapper for DUK_INTERNAL symbols.
  These symbols turn into static symbols in a single file build in which
  case we don't want to declare them.  They do need to be declared for a
  multiple file build.

- Change `combine_src.py` so that a few files are cherry picked out of the
  default alphabetical order, so that all static definitions appear before
  their use.

- Add a test `duk-g++` target to the repo Makefile, so that it's easy to
  quickly check that C++ compilation still works.