Define CAML_NAME_SPACE in hh_shared.c

Summary: From the OCaml manual: "It is recommended to define the macro
CAML_NAME_SPACE before including these header files. If you do not
define it, the header files will also define short names (without the
caml_ prefix) for most functions, which usually produce clashes with
names defined by other C libraries that you might use."

Reviewed By: @jwatzman

Differential Revision: D1602541
Make globals local where possible in hh_shared.c

Summary: I'm about to try and serialize global state, so the less state
there is, the better :)

Reviewed By: @jwatzman

Differential Revision: D1601865