rename forAsync to asyncEach and add asyncAll (parallel async)
add precompiling API