Make ZEND_VERIFY_RETURN_TYPE a nop in generators

Generators can have return empty return statements, but these are not
violations of the generator return type. Note that it is difficult to
not emit ZEND_VERIFY_RETURN_TYPE inside generators, because you might
not know yet that the function is a generator.
Add hasReturnType and getReturnType

Add hasReturnType and getReturnType to ReflectionFunction; they may
need to be renamed later as 'type' may be too ambiguous.
Add more inheritance tests for return types

Currently two of these tests fail. A rework of the way the return
type inheritance checks are done is needed.
Group generator return type tests