Fields must positively validate null values if requried is false

When any of the field has the `required` keyword set to False they should be able to validate null values
In the original code the validation fails if the value is not a list regardless of the value of the self.required attribute; however the new code validate the value if: a) self.required is False and value is either a list's instance or None, b) self.required is True and value is a list's instance.
The expression in the conditional looks like having some redundancy but it's the minimal form I was able to write to comply with the new validation rules.
Feel free to double check the table of truth of that expression to be sure that is doing what is expecting to do and let me know if there's a way to simplify it further.