Add --freeze flag for writing to requirement files

When this flag is active, the source of repos installed via VCS and
whether or not they are editable will also be printed
Update and fix the docstrings