Move "function call in lvalue" check from `typing.ml` to TAST check
Summary:
**Context:** I'm trying to change Hack to treat lvals more consistently, with the ultimate goal of encoding lvals distinctly within Hack itself.
This diff moves a check that was embedded into `typing.ml` to a tast check, which gives us two benefits:
* This will allow us to expand the scope of this particular lvalue check (namely to `unset` expressions) easily
* This lets us limit the scope of this lvalue check (namely we no longer double error on function calls in `inout` expressions)
Reviewed By: Wilfred
Differential Revision:
D34562423
fbshipit-source-id:
477ed8393b3110a00bd18a667cba32f7d33aaa1d