ci/lava: Detect R8152 issues preemptively and retry
Supersedes !17352 (closed)
Implement a log-based retry hint for R8152 issue described in #6681 (closed), which is based on detecting these two consecutive lines:
r8152 <USB> eth0: Tx status -71
nfs: server <IP> not responding, still trying
Where and could be any IP and USB addresses, respectfully.
Extras
- Adds cancelled job status to represent preemptively retried jobs (introduced by R8152 known issue)
- Refactor lava_log.py into smaller modules
- Use yellow color for errors that should be recoverable by a retry
Closes: #6681 (closed)