Add and improve warnings

* Add tags (labels) for warnings. could be used by Jenkins or other tools to group warnings
* Add second-level warnings, called "advice", used to limit warning inflation a la java
* Add new warnings
  * missing doc
  * unread local variable
  * useless empty init
  * useless attribute type <- was already present, but made a advice, instead of a warnings.

Close #722
Cette liste me gène:

* s'agit-il d'affirmation ou de limites de la solution?
* pourquoi lancer un warning sur qq chose qui ne peut pas être corrigé? où est le @supresswarning et toutes les mauvaises idées qui vont avec?
* Some specific reproach
* Bonus: Transient comments should be avoided or marked with FIXME or TODO.