Added command to align paths.
Added WorldChanger, removed ShadowWorld.

ShadowWorld kept a copy of *the whole world* for the sole purpose of letting
me update the GUI separately from any changes to the original world.  The purpose
was to let the world be in the midst of numerous changes without having to update
the scene for every change -> to avoid referencing deleted info.  ShadowWorld
also had a list of "modifications" that were used by the path tools to show
changes in progress.

For Lua scripting, I was keeping copies of whatever nodes/paths/etc were modified
by the Lua scripts.  After the script ran, I would have to go through and
figure out what the scripts had changed an apply those changes via undo/redo.

To clean up this increasing mess, WorldChanger was introduced as the only class
that directly modifies world data.  WorldChanger keeps a list of WorldChange
objects that perform modifications.  Nicely, only a single QUndoCommand subclass
is required; it uses a WorldChange object.

When using the path tools, a WorldChanger is used to track all the movements of
nodes then dumps those changes into the undo/redo system when the movement is
complete.

When running a Lua script, a WorldChanger is used to track all the changes
made by the script.  If the script fails, all the changes are undone.  Otherwise,
the changes are dumped into the undo/redo system.
Piles o' changes.

Added CreatePathTool for creating paths

WorldPath has a list of scripts, so now there are:
a) 'global' scripts that act on lists of paths
b) paths that have lists of scripts that act only on those paths

Added a "Add Script" command to the "Path" menu that adds 'hayfield.lua' to
selected paths.