src: remove some warnings and do some cleaning

Signed-off-by: Jean Privat <jean@pryen.org>
typing: refactor type adaptations in AEqExpr and ANeExpr

Signed-off-by: Jean Privat <jean@pryen.org>
typing: new warning useless-null-test that detect == and != between non-nullables and null

Signed-off-by: Jean Privat <jean@pryen.org>
src: remove useless comparisons on null

Signed-off-by: Jean Privat <jean@pryen.org>
lib: remove useless comparison on null that broke tests

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update some tests related to useless-null-test

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: new warning: useless null test

So, detect things like

~~~nit
var a = "Hello"
if a != null then print a
#   ^ useless null test!
~~~

Pull-Request: #817
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: src: remove some warnings and do some cleaning

Extracted from the first version of #817

Pull-Request: #819
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>