girparser: support return_void metadata argument

This allows us to generate backwards compatible signatures for
functions with a void return value and a single out param for a struct
from metadata files instead of resorting to *-custom.vala.
girparser: improve support for changing symbol types away from instance

This makes it possible to move a symbol from an instance method of one
type to a constructor of another, or to a static method.
girparser: don't deprecate children of deprecated containers

GObject Introspection doesn't support marking entire types as
deprecated, so we end up with a lot of places where the type isn't
deprecated, but every method, property, field, signal, etc. in it is,
which causes a lot of spew during compilation.  This patch allows us
to easily deprecate a type in metadata and any extra deprecation
information on child symbols will be omitted.