Async tasks and task dependencies

`gulp.task('somename', function (cb) { .. cb(err); });` and `gulp.task('somename', ['list','of','tasks','to','run','first'], function () { .. });` are implemented along with unit and integration tests and updated README.md.