Rename elaborate_id and remove unnecessary arguments
Summary:
The diffs below this one have effectively removed all namespace elaboration from the emitter into a separate pass.
This means that `hhbc_id.ml` should not contain any namespace elaboration. Which means that we can clean up the `Hhbc_id` API a little.
Now, instead of elaborating the id, `elaborate_id` just strips the leading `\` in most cases.
We no longer need `elaborate_id` for Function, Const, and Record. For the cases where we are taking the elaborated name and going from `ast.id -> t`, replace with `from_ast_name` which already strips the leading `\`. For the cases where we were calling `elaborate_id |> to_raw_string` for emitter special transformation purposes, we can just use `Hhbc_string_utils.strip_global_ns` there directly.
Note: We still use `elaborate_id` for Class as we do XHP mangling there.
Additionally, since we no longer require the `namespace_env` in many places, we can clean up a lot of interfaces by removing the threading of either `env` or `namespace`. That's the majority of the diff.
Reviewed By: kmeht
Differential Revision:
D18075817
fbshipit-source-id:
aa2b037dd0aa880f0bd85995293a86c5f7436d6c