handle yield and yield break

Summary: we dehackify yield naively. Since hhvm generators behave differently, some code WILL not
dehackify correctly, but the solution is for hhvm generators to match zend.
yield break is desugared into a return (with an additional dummy yield in case its the
only use of yield)
Depends on D1655610
Fixes t5347599

Reviewed By: @jwatzman

Differential Revision: D1657236