general: apply clippy lints (#407)* general: update crates to 2021 edition. * general: apply clippy --fix * general: apply manual clippy lints * cargo fmt.
Add missing documentation
Replace `flag.then_some(…)` with good old if-else to support MSRV 1.60.0
Add missing tests for value/value-range/value-sequence constraint types
Rename `BareOr…` types, removing prefix
Rename `MediaTrackConstraint` and related types, adding `Resolved…` prefix
Add `fn to_required_only(&self)` & `into_required_only(self)` to `ValueConstraint<T>`, `ValueRangeConstraint <T>`, `ValueSequenceConstraint<T>` & `MediaTrackConstraint` implement `Display`cons
Make `EmptyConstraint`, `ValueConstraint<T>`, `ValueRangeConstraint <T>`, `ValueSequenceConstraint<T>` & `MediaTrackConstraint` implement `Display`cons
Make types that derive `PartialEq` also derive `Eq`, where applicable
Add basic builder pattern to `ValueConstraint<T>`, `ValueRangeConstraint <T>` & `ValueSequenceConstraint<T>`
Make contraint types implement `fn is_empty()`
Implement bare constraint value resolution
Implement logic for resolving bare values to proper constraints
Add implementation of `MediaTrackConstraint`, `ExactOrValueConstraint`, `ExactOrValueRangeConstraint` & `ExactOrValueSequenceConstraint`