Return types

This is a pull request to implement the return type RFC: https://wiki.php.net/rfc/returntypehinting

Presently not ready for merge (there are a few bug fixes still needed).
This would be better named as `zend_emit_return_type_check` or something along these lines. The `zend_compile_*` stuff is for things compiling AST nodes.