XHPAST array_function_derefence support

Summary: Ref. T4334.  Makes "isset(foo()[1])" syntax work, which was added in 5.4

Test Plan:
`arc unit`
Added test case for known-good syntax, TDD'd the grammar file until it worked (mostly scraped from Zend)
`generate_php_symbols.php` of WePay's entire codebase with updated XHPAST, no errors at all.

Reviewers: epriestley, btrahan, #blessed_reviewers

Reviewed By: epriestley

CC: Korvin, epriestley, aran

Differential Revision: https://secure.phabricator.com/D8154