Reimplement module reloader.

Module#reload now tries to determine all source files that actually
define any module instance methods, and reloads those.

This should help when dealing with non-default file locations and/or
no autoloading.

This change also requires to reorganize the tests for this gem; otherwise
the reloaded file (etest_test.rb) would run Module#etest again, which
results in another reload and ultimately ends in a non-ending recursion.
Updates gems, remove debugger
Bumps version number
Reload module and etest module in one go.

Often etests are defined in the same file as the main module. In that
case we only have to load the file *once*.