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

It's much cleaner that getPublicFields() returns with all the values populated. This also helps with #124, when we need the ``$public_field['column']`` outside of ``entityView()``