[cli] improve output
Fix empty string default variable value.
[smart] Don't upgrade provide_ret in require if it is the root provide (since it doens't have origin require).
[smart] Add step to choose path when possible