Improve constructor chain-up checks
Improve constructor chain-up checks

The only valid expressions for chaining up are:
 * this[.named] ()
 * base[.named] ()
 * Object () - for GObject style chain-ups

This patch should prevent invalid chain-ups such as:
* Foo.named (), where Foo is not a valid base class
* (new Foo ()) (), i.e. invoking expressions that return an object

In preparation to fixing bug 567269, is_chainup() was turned into a
property.

GNOME/vala,GNOME/vala,frida/vala,frida/vala,GNOME/vala,frida/vala,frida/vala,frida/vala,GNOME/vala