this and two related commits implements:
- setting snmp_field_protection which can be used to protect any
database field from having a null value set
- extra device discover worker which prefetches SNMP interfaces and
performs some sanity checks and comparison against the DB
the two checks will return job status ERROR with CANCELLED if they
see anything fishy.