Fix issue 1960: restrict the allowed values of boolean properties.
Before this change we allowed all sorts of boolean-like values for boolean properties, eg. true, false, yes, no, 1, 0, enabled, etc. These are always normalized to one of true or false. However, this normalization may confuse users, since they might expect that if they set a property to "yes" then the next time they view its value they might expect to see "yes", when in fact they'll see "true". This change restricts the set of permitted boolean values to just true or false.