If the repository already exists, it should throw a meaningful exception
instead of ("This user already exists"). This code fixes the problem.
Added to to fail only if the uncompressed file exists and cannot be
deleted
Added code to fail only if the uncompressed file exists and cannot be
deleted
Added code to close the stream only on error or after successfully
extracted the files, otherwise it freaks out.