pfff: support for type/newtype, part1, just the grammar

Test Plan:
unit test included
$ make test
also
$ pfff -parse_php ~/www does not generate any error

Reviewers: julienv, pieter, amenghra

Reviewed By: pieter

CC: jdelong, andrewparoski, michalburger1

Differential Revision: https://phabricator.fb.com/D832430
pfff: support for type/newtype, part2 support in AST

Test Plan:
$ make test

$ ~/pfff/pfff -dump_php_simple newtype.php
[TypeDef({t_name="foo"; t_kind=Alias(Hint("int")); })]

$ ~/pfff/pfff -dump_php newtype.php
[TypeDef(
   {t_tok=i_1; t_name=Name(("foo", i_2)); t_tokeq=i_3;
    t_kind=Alias(Hint(XName(Name(("int", i_4))), None)); t_sc=i_5; });
 FinalDef(i_6)]

Reviewers: julienv, pieter

Reviewed By: pieter

CC: jdelong, platform-diffs@lists

Differential Revision: https://phabricator.fb.com/D832581
pfff: support for type/newtype, part3 support in stags and codegraph

Test Plan:
unit test included

also
$ cd pfff/tests/php/codegraph
$ make
$ cg .
and visualized the right dependencies inside types.php
(at some point I need to write unit tests for codegraph ...)

Reviewers: julienv, pieter

Reviewed By: pieter

CC: jdelong, platform-diffs@lists

Differential Revision: https://phabricator.fb.com/D832735
* lang_php/analyze/checker/check_variables_php.ml: handle typedefs
Merge branch 'master' of github.com:facebook/pfff