Rename effective_deps to unsatisfied_deps
unsatisfied_deps cannot be nil
Always clear unsatisfied_deps after installation
Don't mutate deps collection when expanding requirements
Re-check requirements if a bottle installation fails
Extract compute_and_install_dependencies