First usable version of the `freeze` library

This library will be used to power the `freeze` command. This command
is intended to generate the `requirements` file automatically.
Split functional and unit tests for the freeze library
Improve unit tests for the freeze.get_module_path() function