refactor(engine): redesign the Retrieval service (#375)
Description
- 
redefine public interface of the data retrieval service  - 
parse jobs into target groups  - 
add new retrieval states ( renewedandsnapshotting) to describe a new refresh model - 
configure jobs depending on filesystem manager and detach them to run independently  - 
prepare a basis for jobs validation system  - 
combine calls of all available jobs using RefreshData()andSnapshotData() 
Related issue
Examples
Retrieval's public methods
Run(ctx context.Context) error
Reload(ctx context.Context, retrievalCfg *config.Config)
RefreshData(ctx context.Context, poolName string) error
SnapshotData(ctx context.Context, poolName string) error
Stop() 
ReportState() telemetry.Restore
Checklist
- 
MR description has been reviewed  - 
MR changes are functionally tested  - 
MR does NOT have text changes OR there are text changes and they have been reviewed  - 
MR does NOT have API/CLI changes OR there are API/CLI changes and they have been reviewed  - 
MR does NOT have UI changes OR there are UI changes and they have been reviewed  
Closes #375 (closed)
Edited  by Artyom Kartasov