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.
Why not getting an exception if you try to access a not loaded optional attribute?
The user could of cause check via `model.attributes.has_key? :profile` but not very likely to be used.