Calling baremetal node unset --protected will attempt to set the
protected attribute to None, which raises a 500 error because the
object attribute is not nullable[1]. This change checks for this case
in the patch call and sets protected to False.
This appears to be the only boolean attribute affected by this issue
(node, port, and portgroup boolean attributes were checked).
[1] https://opendev.org/openstack/ironic/src/branch/master/ironic/objects/node.py#L146
Change-Id: I561e059218a99154e77df075aeadd68f56b86267
Story: 2008205
Task: 40989