use nodejs own crypto
prevent uncaughtException reimplementation
retry again until limit reached
fixed package name
add createWriteStream