This will be used as default for --middle-schema, --output-pgsql-schema,
and for the different ways of setting a schema in the flex output and
generalizer code.
This removes the last places where the schema was hardcoded to "public"
(except as a default for this command line parameter and in some legacy
gazetteer code).
There was a bit of a mess of different (types of) includes. We now only
use '#include <lua.hpp>' which includes all Lua C headers correctly and
also works for LuaJIT.
Technically it might include more than we need in some cases, because
lua.hpp includes several C headers some of which are only needed
sometimes, but the largest one (lua.h) is the one we always need, the
others are tiny.
Biggest problem here are the warnings for access of objects after
std::move() in the SECTIONs in the tests. Those are not valid,
because for each test only one section is ever run, but it was easiest
to silence the warning this way.