Adding unit tests for `nvm_ls_remote`

`nvm_download` is stubbed, to avoid making network calls.
Add nvm_validate_implicit_alias
Adding nvm_print_implicit_alias
Adding nvm_print_implicit_alias error tests.
Adding nvm_print_implicit_alias success tests
Make `nvm alias` list implicit "stable" and "unstable" aliases when they're not already aliases.
Add support for `nvm ls stable` and `nvm ls unstable`
Support `nvm ls-remote stable` and `nvm ls-remote unstable`
nvm_format_version: add unit tests.
Create nvm_ensure_version_prefix, and make nvm_format_version actually format the version.
Remove trailing whitespace.
v0.17.2
Adding notes to the README for "stable", "unstable", and "system".
Add `nvm_alias` and unit tests.
Use `nvm_alias` in `nvm alias`
Silencing nvm_version_path error output in nvm_print_versions
Ensure `nvm run` has the same semantics as `nvm use`
Use `-f` instead of `-e` in nvm_alias.
Use nvm_alias in nvm_ls.
Remove '-e' option from installation tests, in favor of explicit failures.