During parallel pull of a repostiory it can happen that the same layer
is pulled more than once.
To fix this I have extended the locking code to
- avoid multiple pulls of the same image
- avoid multiple pulls of the same layer
If an error occurs the other layers are awaited before returning as leaving
the scope before the go routines leave causes crashes of the server sometimes
if the download status is updated while the http stream is already closed
Beside this I have extended status display.
Upstream-commit: 3f802f4a13cc9d35118420f7c769a8b3531476c8
Component: engine