show speed by avg of last 10s

Change-Id: Ib96260dc7a10e9b96428c289f97ed09130c57f73
issue0001: download queue

Change-Id: I2bdc98e73c29c2bb0c797dd62dd722232f65886d
issuse0002: cancel download stuck

1. The download service call transfer api cancel sync, that will stuck, change it to async.
2. modify test to download file to tmp dir.
3. fix build script.

Change-Id: I1bf12aadf7c12f77b9ed841d738da6c2a456a2e5
issue0003: md5 & file size verfiy

1.verify file md5 when download end, if md5 is mismatch, task will be cancel
2.check the fileSize of input, if the fileSize is set, the download service will not query remote file size before download
3.fixbug: delete the work queue instead wait queue when download finish

Change-Id: I34101b452fd813626f21662630bb1887c687eee6
issue0004: compelete Pause && Resume

1. Compelete Pause and Resume Task Function
2. Remove blank of README.MD and Fix the speed unit as Bit/s

Change-Id: I0cda6c1590e088514bde22daf89deaf467935e7d
issue0005 refTask should not start downloader

1.should begin downloader when create task and ref task to downnloader
2.add task case

Change-Id: I4655b25b5e0980b3203a0adb1f134ea31967dc5d
issue0006: add debian

add debian && Makefile

Change-Id: I5bcf4b506a110e3ff9c44f32e64b2caec5238b19
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
issue0008: less update message

1. reduce update progress message
2. use taskqueue chan to start downloaderw

Change-Id: I6c9789397dca0c8ee15d52e7112d0a8b69f336bf
issue0009: quick download

if file & md5 exist, verify md5 first

Change-Id: I20ffacf155274406d586fe15bf318fb4d270a0b9
issue0010: Wait signal

Change-Id: Ib71b04dfbfb78396b29759b905fc6f30b0a18bb1
issue0011: Fix muti download progress struck

if a task with empty urls list, it will struck. so cancel and send Stop && Error signal when it start

Change-Id: I2a7184ccab93cb0cc98e16e3dff3f5730417ab12
issue0012: add ftp soupport

Change-Id: Ifefe0f25ee80fe3b64fecf550d301342b866414a
issue0013: fix path structure

Change-Id: I5aa31daec7f990931c7c7ec7cc0b4b57b5ea9d3a
issue0014: Replace int32 ID with uuid

Change-Id: I10f1a75eed6f75d47702f1a3c4e5c8a6333eedcc
issue0015: ftp support rest range

Change-Id: I00bcc806c9fe0ef4d880370f23622ff6162dd65d
issue0016: fix download error with big file

if the server do not support range/rest, when download a big file, the memory alloc onec time, that will case failed,
so write when cache failed

Change-Id: Id82956ed1810556917194bcedf79c089dd9a8dbf
issue0017: retrun error when get ftp conn error

Change-Id: Ib0b3529bb53cf2ecb4ca7f93fbe9010621bd034a
issue0018: query teststatus without signal

1. if cannot query the task info, cancel task
2. transfer exit after 60s without task
3. md5 error, retry

Change-Id: Ie81a041740b312446b6a506f16faf0b1a32b30c2
Refactor Transfer

Now Transfer is a single service, erery download request would be
a transfer struct.

1. transfer service will exit afer 60s without download.
2. if download failed, the transfer will retry 3 times by default.
3. all net request start by go routinue, by default, only on thread is
active for download

Change-Id: Ia6b96253fc07efe60b4e53a9b1c004f419248328