[Fix] Use local variable when looping over args

When the `nvm` function is called by a script which itself uses a variable
named `i`, `nvm` clobbers the caller's variable. This happens even if the
caller has declared its variable as local.

See note 1 on https://tldp.org/LDP/abs/html/localvar.html#FTN.AEN18568
diff --git a/nvm.sh b/nvm.sh
index 5a27ae6..2e85e6a 100644
--- a/nvm.sh
+++ b/nvm.sh
@@ -2554,6 +2554,7 @@
     return $?
   fi
 
+  local i
   for i in "$@"
   do
     case $i in