toolcontext: add some documentation

Signed-off-by: Jean Privat <jean@pryen.org>
toolcontext: allow to tag messages

Signed-off-by: Jean Privat <jean@pryen.org>
src: add tag to existing warnings

Signed-off-by: Jean Privat <jean@pryen.org>
toolcontext: add `error_info` for displaying total errors&warnings

Signed-off-by: Jean Privat <jean@pryen.org>
toolcontext: add a new category for warnings: advices.

Signed-off-by: Jean Privat <jean@pryen.org>
modelize: useless-visibility is an advice

Signed-off-by: Jean Privat <jean@pryen.org>
modelize: useless attribute type is an advice

Signed-off-by: Jean Privat <jean@pryen.org>
modelize: advice on missing documentation

Signed-off-by: Jean Privat <jean@pryen.org>
modelize: advice on useless empty init

Signed-off-by: Jean Privat <jean@pryen.org>
scope: advice for unread local variables

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update sav for changed loop-warning message

Signed-off-by: Jean Privat <jean@pryen.org>
vim: activate -W for syntactic

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: 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

Pull-Request: #759
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>