[ConfigImpact] Suppress gated code by config parameters
[ConfigImpact] Suppress gated code by config parameters

Summary:
This diff suppresses gated code by config parameters.

context: The checker has a mechanism to understand code gated by config fields:

* During visiting/analyzing procedures, it records the code gated by fields.
* After analyzing all procedures, if it found a field may have a config value in any execution path,
  the gated code by the field is suppressed to report.

In this stack of diffs, I would like to apply a similar method, but this time on function
parameters.  Thus, if a config value is given as a function parameter, we suppress the gated code by
the parameter in the function body.

* In the previous diff, it introduced a new wrapper type LatentConfig.t, which now includes only Field.t.
* In this diff, it actually extended the domain/semantics for handling function parameters.

Reviewed By: ngorogiannis

Differential Revision: D34451554

fbshipit-source-id: 0ae107547f

facebook/infer,facebook/infer,facebook/infer,facebook/infer,facebook/infer,facebook/infer,facebook/infer