BUILD: Split configure.engines down to a single file per engine.

This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
BUILD: Split engines.mk down to a single file per engine.

This is the second part of allowing engines to be added dynamically.
Each folder in engines/ which must contain a file named "engine.mk"
containing the make definitions for that engine.
BUILD: Split engines/plugins_table header down to a file per engine.

This is the third and final commit enabling fully pluggable engines.

Now providing an engine folder contains a configure, engine.mk and
engine-plugin.h file, it will be picked up automatically by the
configure script.
BUILD: Remove need for engine-plugin.h in engines.

This is now generated automatically by the configure script from the
engine directory names.
BUILD: Remove need for engine.mk in each engine directory.

Each engine now only has to provide a single configure file adding the
engine into the configure script, which then produces the required other
files automatically.
DEVTOOLS: Adapt create_project for new configure.engine files.

I could not try any generated project files since I do not have access to
the IDEs.
BUILD: Add engine_plugins_table.h to git in the ideprojects target.
BUILD: Partial solution for parallel make issue.

This is due to the multiple outputs produced by the configure rule,
which cause multiple invocations of configure when make is run in
parallel. Various solutions are detailed in the Multiple-Outputs
section of the GNU automake manual which apply generally to makefiles.

This solution is a simpler one, but should solve the problem, though it
can fail on "mutilated" trees ie. where some of the configure outputs
are present, but not all... but this situation is not common, tends to
be due to an error in configure and should be recoverable by a
"make clean && ./configure" call.
BUILD: Add code to maintain ordering of engines in generated files.

This is mainly "cosmetic" to keep the SCUMM engine and subengines at
the top of the various files, but probably a good idea to prevent any
subtle regressions associated with changing the order.
BUILD: Improve formatting of generated engine makefile.

This also more closely matches the formatting prior to these changes to
add engine auto plugging.
BUILD: Move configure generated engine files back into engines folder.

This was previously broken for out of tree builds, but have now fixed
this in configure script by creating engines folder if missing.
BUILD: Change name of engine plugins table header to match older format.

This changes the naming back as the table is now back in the engines
folder.
DEVTOOLS: Factor out function to create directories in create_project.
DEVTOOLS: Adapt create_project to output engines/plugins_table.h again.

This updates create_project for the changes done in 31cdfe059a85ac1ce71bf8c46857185dc55c1b8d
and b06c4135fb3b73a77613c47d6bc69f7455ed1eb5.
DEVTOOLS: Make create_project sort SCUMM as first engine.

This makes create_project output consistent with configure output again.
(See 33c1ffd073821a68e20bed6e4c257aed7ed66401 for the configure change).
BUILD: Fix ordering of engines in configure info output.

This ensures that like 33c1ffd073821a68e20bed6e4c257aed7ed66401,
the output matches the behaviour prior to these changes.