Allow to interleave visibility and function modifiers
Summary:
HHVM allows to put visibility and function modifiers like `async` in any order - this diff enables similar capabilities for FFP
This diff includes lots of changes in FFP baselines but all of them are related to the fact that
- instead of two fields `async` and `coroutine` function declaration header now has only one `modifiers`
- modifiers are removed from methodish declarations
- error ranges over function declaration header for methods now include modifiers
Differential Revision:
D6523113
fbshipit-source-id:
7c97c3ebce14c2facb69b8f7a74e9fd42c5eca22