pfff: support for namespace part4, updates the AST

Summary:
This updates the AST. The previous diff was about the CST (concrete syntax
tree).

Some of the code was automatically modified using spatch for ocaml
for instance via this spatch:
 Id
+ [
  (
  ...
  )
+ ]

Test Plan:
$ ~/pfff/pfff_test -dump_php_simple namespace.php
[NamespaceDef(["my"; "name"]);
 ClassDef(
   {c_name="Cat"; c_kind=ClassRegular; c_extends=None; c_implements=[
    ]; c_attrs=[]; c_constants=[]; c_xhp_attr_inherit=[]; c_xhp_fields=[
    ]; c_variables=[];
    c_body=[{f_name="says"; f_kind=Method; f_params=[]; f_ref=false;
             f_return_type=None; m_modifiers=[Static]; l_uses=[]; f_attrs=[
             ];
             f_body=[Expr(Call(Id(["__builtin__echo"]), [String("meoow\n")]))];
             }];
    }); Expr(Assign(None, Var("$o"), New(Id(["Cat"]), [])));
 Expr(Call(Obj_get(Var("$o"), Id(["says"])), []));
 Expr(
   Assign(None, Var("$o"),
     New(Id(["__special__ROOT"; "my"; "name"; "Cat"]), [])));
 Expr(Call(Obj_get(Var("$o"), Id(["says"])), []));
 Expr(Call(Id(["__builtin__echo"]), [Id(["__builtin____NAMESPACE__"])]))]

Reviewers: pieter, julienv, jiaol, amenghra, zoel, glevi

Reviewed By: pieter

CC: jdelong, ptarjan

Differential Revision: https://phabricator.fb.com/D883194
pfff: support for namespace part5, collateral evolutions on code using the AST

Summary:
Now that a name can be a list of string, the code using the AST
and mentioning names have to be updated. Again most of the code
was updated via spatch. The rest was modified manually when
the typechecker pinpointed all the remaining places to fix.

Test Plan:
make
it compiles again!

Reviewers: pieter, julienv, jiaol, amenghra, glevi, zoel

Reviewed By: pieter

CC: jdelong, ptarjan, platform-diffs@lists

Differential Revision: https://phabricator.fb.com/D883200