modelize_property: the `redef` on writable is now optional

fixes #270

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update base_attr5 for redef policy

Signed-off-by: Jean Privat <jean@pryen.org>
nitcc_runtime: force static type of Nodes::children

We want a mutable sequence here!

Signed-off-by: Jean Privat <jean@pryen.org>
modelize_property: correctly check signature for getter and setter

Some clone of bug 855796228e2ea1234246990c68741ccffbce93ae
modelize_property: do not crash if mtype is null in check_visibility

Signed-off-by: Jean Privat <jean@pryen.org>
modelize_properties: attributes inherit the static type of the getter

so, one could write

~~~
interface A
  fun foo: String
end

class B
  super A
  redef var foo # var foo is a String!
end
~~~

Signed-off-by: Jean Privat <jean@pryen.org>
tests: test untyped attributes in base_attr5

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Fixes for attributes

Some fixes and improvements in modelize_property.nit on the attributes side.

* redef optional on the `writable` part (see #270)
* fix signature check
* enable the inheritance of the type when a var redef a fun

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