[Client] Fix possible goroutine leak in pull

Running goroutines with `pullLayer` are blocked to send error of a pull operation. If we abort pulling without notify them about cancelation they will get stucked forever. To avoid this possible leak `cancelCh` was introduced. In case of abort we close that channel to notify other goroutines about cancelation.