build: i18n: refactor

refactor some code into nodedownload.py
build: i18n: add a --with-icu-source option=tarball

... but, I realized I don't know how to parse arg variables on windows.
So committing this WIP.
build: i18n: implement --with-icu-source

Usage:
 * `--with-icu-source=/path/to/my/other/icu`
 * `--with-icu-source=/path/to/icu54.zip`

In the future, will support `.tgz` and also http/https URL for download.