will turn any nodish callback-based function into a jQuery Promise