prefer code upgrades in inherent filtering (#4334)

* impl prefered items

Closes #4330

* do not stop attempting to select, just because one did not fit

* doc

* prefered -> preferred

* missing usage of the preferred indices

* sigh

* shuffle is not available for chacha

* remove duplicate weight addition

* ref vs no ref
22 jobs for master in 49 minutes and 32 seconds (queued for 13 seconds)
Name Stage Failure
failed
simnet-tests Deploy
Error: Error("Critical test failed")
+ EXIT_STATUS=1
+ set +x

2021-11-19 19:30:50 - INFO - Exit status is 1

Cleaning up project directory and file based variables

ERROR: Job failed: command terminated with exit code 1

failed
spellcheck Test
[2021-11-19T18:32:48Z INFO  cargo_spellcheck::action] ✅ /builds/parity/polkadot/node/network/availability-recovery/src/tests.rs
[2021-11-19T18:32:48Z INFO cargo_spellcheck::action] ✅ /builds/parity/polkadot/node/network/availability-recovery/src/metrics.rs
[2021-11-19T18:32:48Z INFO cargo_spellcheck::action] ✅ /builds/parity/polkadot/node/network/availability-recovery/src/futures_undead.rs

real 1m27.134s
user 5m11.433s
sys 1m18.043s
Cleaning up file based variables
ERROR: Job failed: exit code 1