Feature: Settings declare project fields of the profile 

Description 

A profile field of Configuration/AcademicPersons/Settings.yaml can be declared a project field with custom: true : a column a site package adds to the profile table with its own SQL and TCA. Its fieldName names the column and is required, its key is its property name. The profile editor of academic_persons_edit lets people edit it.

The flags of a project field reach the TCA of its column like those of any other field, once the column may be used: it is in the profile TCA, it is neither a system column nor a column of the shipped profile model, its type is input, text, email, link, number or check, and the renderer and validators of the field fit that type.

Impact 

Nothing changes for settings without a project field.

A project field whose column may not be used gets nothing of its flags, and the settings listener raises an E_USER_DEPRECATED notice naming the field, the column and the reason while the TCA is compiled. The backend and the install tool keep working, and a test suite that fails on deprecations fails on it. A regular field whose column the TCA does not have stays left out without a notice.