Large changes to build process, script management, etc.
Setting the stage for unit testing (finally). Hopefully this
is more manageable.