failing tests
nope, don't want to do this

this meant that modules that we hadn't seen before were always assumed
to have changed, which can cause arbitrary (and possibly dangerous)
modules to be reloaded.

this can happen when you call ->refresh, then load a module, then call
->refresh again. in this case, there's no way to tell if the module has
been modified since it was loaded, which means that we have to assume
one way or the other. assuming that it hasn't can cause changes to be
missed when ->refresh is called, but assuming that it has can cause
modules (such as Moose) to be reloaded when we really can't support it.
allow optionally installing a require hook to track module loads

this will be more accurate about when to reload things, but uses a
require hook, which may cause issues with other modules that hook
require in an incorrect way
add documentation
changelog