Add \RestfulInterface::publicFieldsInfo() for users to decalre their fields.

Use \RestfulInterface::getPublicFields() to get the processed fields (i.e. with default values initiazlied).