added support for sauce tunnel, use asyncjs to avoid callback hell - closes #5