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