modules: Self Contained Units of Source Code

Provides modules as an organizational unit for source code. Modules
enforce to be more rigorous when defining dependencies and have
a local search path. They can be used as a sub unit within packages
or in scripts.