Add optional attributes

* Optional attributes will not be included in public attribute listings
unless set in server response or locally. Therefore they cannot have a
default value.
My indention to declare a attribute as optional is primary to prevent the user to treat a non-sent attribute as nil. And as we add an new flag I see no reason to keep compatibility.