pfff: fix parse error regarding <X as array<foo>> and the >> ugly tricks

Summary:
This mostly reproduces what I do for java and c++ by splitting
the '>>' token in two tokens in order to have a cleaner grammar.
Hack does that doo.

This should fix some issues josh has when he wants to transform
types containing this '>>'.

Test Plan:
unit test included
also
./pfff.opt -parse_php ~/www does not return any error

Reviewers: pieter

Reviewed By: pieter

CC: jwatzman, julienv, bryano, joelm, amenghra

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

Task ID: 2846983
* lang_php/parsing/ast_php.ml: raise TodoNamespace for ident_of_class_name
* changes.txt: misc