issue0007: Cancel task without stop goroutine

1.When downloader error, call cancel to end task; when user end task, use stop

2.check task status when start new downloader, if vaild, exit downloader goroutine

Change-Id: I122aa7b8e873a119009b59f719c56b4b105ad609
Merge branch 'master' into develop