Spinus/refactoring

Much code is refactored and modularized. Modules like virtualenv and nodejs come with another repos as loadable modules to envcacher.