lava_dispatcher: match devices by udev attributes

This patch allows to use arbitrary udev variables to match devices in
device_info and static_info entries, and makes board_id non mandatory.

board_id, usb_vendor_id, usb_product_id, fs_label are now deprecated,
but there is a lot of code that still assumes them.

Note that in the absense of board_id, or ID_SERIAL_SHORT, devices are not
garanteed to be unique, and LAVA will not raise any exception in that
case.

Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>
Signed-off-by: Stevan Radakovic <stevan.radakovic@linaro.org>
Signed-off-by: Antonio Terceiro <antonio.terceiro@linaro.org>
16 jobs for job_udev_rules in 15 minutes and 32 seconds (queued for 3 seconds)
latest
Status Job ID Name Coverage
  Test
passed #110744
amd64
dispatcher-debian-10

00:02:23

passed #110746
amd64
dispatcher-debian-11

00:03:03

passed #110745
amd64
server-debian-10

00:02:59

passed #110747
amd64
server-debian-11

00:05:02

 
  Analyze
passed #110748
amd64-dind
bandit-sast

00:00:51

passed #110749
amd64
black

00:00:33

passed #110750
amd64
code_quality

00:00:19

passed #110755
amd64
codespell

00:00:23

passed #110751
amd64
coverage

00:06:24

61.9%
passed #110752
amd64
dockerfiles

00:00:13

passed #110754
amd64
pylint

00:02:58

passed #110753
amd64
schemas

00:00:29

 
  Build
passed #110757
amd64
debian/10

00:01:20

passed #110756
amd64
doc

00:00:38

passed #110758
amd64-dind
docker-amd64-dispatcher

00:03:37

passed #110759
amd64-dind
docker-amd64-server

00:04:01