Drop custom_css field in newsletters table

As adding a CSS file and a template requires code modification, it's better to
compute the custom_css field in the code. Newsletter::hasCustomCss() does this.

Signed-off-by: Nicolas Iooss <nicolas.iooss_git@polytechnique.org>
Add ax_id field in the postal address export.
Add a freetext field for admin use.
Add axfreetext field in profiles table.
Show ax_id on profile for admins.
Allow assistants to use admin/broken
Changes comletter css to green.
Changes comletter css to green.
Typo.
Fix comletter sender and template.
Fix typo in comment of class AddressIterator
Fix incorrect forlife in marketing email.

Signed-off-by: Victor Berger <victor.berger@m4x.org>
Adding hobby visibility on profile.

Signed-off-by: Victor Berger <victor.berger@m4x.org>
Enfore non-empty email addresses at several locations
Force-normalize user emails for list unsubscribe.
Don't select a postal address for ax_mail when delivery failed
Export deliveryIssue flag in postal addresses export
Fix visibility flags ordering in javascript

The new "hidden" flag introduced by commit 07e4a9a has not been declared in JS,
which leads to a bug in the address management profile page. Visibility flags
were no longer ordered between an address and the associated phone numbers.
Rename ax_mail flag to dn_best_mail for profile addresses

The name "ax_mail" is ambiguous with the visibility level "ax". In fact this
is only used to speed up the advanced search when an administrator exports a
list of addresses to prepare a mailing.

Therefore this denormalized flag is renamed "dn_best_mail", which is the best
known address to send mail.

This commit adds a comment in classes/address.php to describe how this best
address is chosen.
Add a cron which checks the best mail addresses which is stored

The cron script computes the selected mail address for each profile and warns
once a week if the result doesn't match the database data.

Also make Address::updateBestMail static public so that there is no need to
create an object per profile in the cron script and there is no code
duplication to find which address would be selected.