Remove vesigial sources/packages from maker
Detect recursive includes
Reload makerfiles when they're changed

This is really hard to test without a simple mocking interface.
Same goes for the reloading sources bit.  Currently this overzealously
reloads all sources after reloading a makerfile: that should not
actually be needed.  But no harm, really.