After listing to be deleted files, before delete is committed to database, file size might be changed by ongoing upload, causing inconsistent user storage.
* Feat: retrieve nodes from data table
* Feat: master node ping slave node in REST API
* Feat: master send scheduled ping request
* Feat: inactive nodes recover loop
* Modify: remove database operations from aria2 RPC caller implementation
* Feat: init aria2 client in master node
* Feat: Round Robin load balancer
* Feat: create and monitor aria2 task in master node
* Feat: salve receive and handle heartbeat
* Fix: Node ID will be 0 in download record generated in older version
* Feat: sign request headers with all `X-` prefix
* Feat: API call to slave node will carry meta data in headers
* Feat: call slave aria2 rpc method from master
* Feat: get slave aria2 task status
Feat: encode slave response data using gob
* Feat: aria2 callback to master node / cancel or select task to slave node
* Fix: use dummy aria2 client when caller initialize failed in master node
* Feat: slave aria2 status event callback / salve RPC auth
* Feat: prototype for slave driven filesystem
* Feat: retry for init aria2 client in master node
* Feat: init request client with global options
* Feat: slave receive async task from master
* Fix: competition write in request header
* Refactor: dependency initialize order
* Feat: generic message queue implementation
* Feat: message queue implementation
* Feat: master waiting slave transfer result
* Feat: slave transfer file in stateless policy
* Feat: slave transfer file in slave policy
* Feat: slave transfer file in local policy
* Feat: slave transfer file in OneDrive policy
* Fix: failed to initialize update checker http client
* Feat: list slave nodes for dashboard
* Feat: test aria2 rpc connection in slave
* Feat: add and save node
* Feat: add and delete node in node pool
* Fix: temp file cannot be removed when aria2 task fails
* Fix: delete node in admin panel
* Feat: edit node and get node info
* Modify: delete unused settings