Assert req.source_dir is None during linked requirement preparation
Assert req.source_dir is None during linked requirement preparation

req.source_dir is only set by:

1. `InstallRequirement.__init__`
2. `InstallRequirement.ensure_has_source_dir`

`InstallRequirement.__init__` is only called with source_dir for
editable requirements, for which we would not call
`RequirementPreparer.prepare_linked_requirement` (only
`prepare_editable_requirement`).

We will use this assertion for justifying later refactoring.

pypa/pip,xavfernandez/pip,pradyunsg/pip,sbidoul/pip,xavfernandez/pip,pypa/pip,pfmoore/pip,pfmoore/pip,sbidoul/pip,pradyunsg/pip,xavfernandez/pip