Remove unnecessary deprecated importers.

If a deprecated importer is found on the load path we remove it if
there is a non-deprecated importer that points at the same filesystem
root.
Address some code review comments.
Move code comment to where it belongs.
Coding style and grammar fixes.
Change ouput for overwrite to write

Because the file is already written to disk, we cannot detect the
difference between created and overwritten.
Delegate paths and filenaming conventions for watching to importers.

Importers should be the single point of knowledge about where files
are coming from. As such, there are two new methods on Importers::Base
which allow an importer to specify what directories to watch and to
control whether a file from those directories should trigger a
recompile.

This patch also adds tests to the watcher code by creating a mock
listener and stubbing out the methods that do the action changes
when compilation and file manipulation occurs.