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.
Mainly to match the known behavior for non-optional attributes including overridden methods.