Add recursion check to __unify
Add recursion check to __unify

Summary:
I was recently debugging an error where Flow was not terminating. This is because we were recursing in `__unify` and exceeding our trace limit, but because we do not have a recursion check we weren't terminating.

This should make future debugging of non-termination issues that operate only within `__unify` easier.

Reviewed By: mroch

Differential Revision: D5818491

fbshipit-source-id: a1a9c20de5a7e57f5e9860d05a6828b896f464ed

popham/flow,mroch/flow,JonathanUsername/flow,AgentME/flow,ylu1317/flow,popham/flow,MichaelDeBoey/flow,jamesgpearce/flow,nmote/flow,TiddoLangerak/flow,AgentME/flow,facebook/flow,gabelevi/flow,popham/flow,MichaelDeBoey/flow,claudiopro/flow,samwgoldman/flow,facebook/flow,claudiopro/flow,facebook/flow,JonathanUsername/flow,MichaelDeBoey/flow,jamesgpearce/flow,nmote/flow,nmote/flow,samwgoldman/flow,ylu1317/flow,jamesgpearce/flow,mroch/flow,nmote/flow,ylu1317/flow,facebook/flow,mroch/flow,facebook/flow,claudiopro/flow,gabelevi/flow,claudiopro/flow,mroch/flow,jamesgpearce/flow,popham/flow,mroch/flow,AgentME/flow,nmote/flow,gabelevi/flow,facebook/flow,popham/flow,jamesgpearce/flow,MichaelDeBoey/flow,TiddoLangerak/flow,gabelevi/flow,samwgoldman/flow,popham/flow,samwgoldman/flow,JonathanUsername/flow,JonathanUsername/flow,samwgoldman/flow,popham/flow,JonathanUsername/flow,jamesgpearce/flow,JonathanUsername/flow,MichaelDeBoey/flow,mroch/flow,ylu1317/flow,TiddoLangerak/flow,ylu1317/flow,claudiopro/flow,AgentME/flow,AgentME/flow,samwgoldman/flow,nmote/flow,gabelevi/flow,gabelevi/flow,facebook/flow,TiddoLangerak/flow,jamesgpearce/flow,nmote/flow,gabelevi/flow,TiddoLangerak/flow,mroch/flow,samwgoldman/flow,JonathanUsername/flow