- along with python 2.7, the code is now Python 3 compatible
(at least versions 3.4 through 3.6).
- a replacement of lazyModule (lazy_module, which defers most work to
_lazy_module) was implemented that uses a modified LazyModule class;
- a different LazyModule class is now created per instance, so that
reverting the __getattribute__ behavior can be done safely;
- a function to lazily import module callables was added;
- customization is fully supported, either as passable custom error messages
or as passable LazyModule subclass alternatives.
- module reloading is now more stable, especially in the case of submodules.
- added testing.