Remove runtime option and check for number of allocated cloned closures

Summary: This hasn't caught any real issues, and in sandbox mode we can legitimately create a lot more functions than in prod.

Reviewed By: @mclarkelauer

Differential Revision: D1598989
array_filter improvement

Summary: Sorry for going back and forth with that, but after working with this new typing in www I revised my views and would like to propose a slight improvement to typing (which I think we discussed and there wasn't any strong voices against, except it being "technically" incorrect).

So:

  function test(array<int, ?string> $a) {
    $a = array_filter($a);
    $a[] = 'test';
  }

should remain an error - that's the important distinction between hashtable arrays and vector arrays. BUT, there is no good (beyond "vectors are intended to have contiguous keys", which nobody adheres to) for this to be an error:

  function test(array<?string> $a): array<string> {
    $a = array_filter($a);
    return $a;
  }

which is currently the case.

Reviewed By: @elgenie

Differential Revision: D1584945