added unit tests for utils.extractUrls
refactored code to use utils.extractUrls
generalized extractRegExp
introduced async.parallel and clean up