GIR writer: Fix generation of async methods
GObject-Introspection does not have any special support for async
methods, so we need to write them out as two entries corresponding to
the .begin and .end submethods respectively.
To avoid code duplication, the Vala.GirWriter.write_signature method is
split in two. The inner one takes all attributes that differ between
sync and async.begin/end methods as additional arguments and is called
twice for the async methods.
Signed-off-by: Jan Hudec <bulb@ucw.cz>