The CallOpInterface setCalleeFromCallable allows either value or SymbolRef to be passed in. However, the implementation showed an issue because while it was able to set attribute, it would fall-through and also try to set value. This PR improves the implementation to handle updating the callee even when switching modes (direct vs indirect) and adds testing for these APIs.