Returntypehinting RFC

RFC'd by @morrisonlevi

PR'd for review + CI

https://wiki.php.net/rfc/returntypehinting
Sorry for commenting here instead of the list, but in looking through the example code snippets in all these tests, a single question occurred to me all over again:

Why is there a colon between the function signature and the return type hint?

The colon is one of the few operators in PHP that is consistent with other languages; specifically in ternary operators.  The suggested new usage makes code visually appear as `function this OR that`.

Is there a particular reason for why we need it?  What's wrong with the following?

```diff
-  public function foo() : bar {
+  public function foo() bar {
```

The RFC only states the following in its [References](https://wiki.php.net/rfc/returntypehinting#references):
> Suggestion 5 is nearly compatible with this RFC; however, it requires the addition of a new token `T_RETURNS`. This RFC opted for a syntax that does not require additional tokens so `returns` was replaced by a colon.

At the same time, the [Position](https://wiki.php.net/rfc/returntypehinting#position_of_type_declaration) chapter does not show a colon in its comparison to other languages:
>  * After the parameter list: `function_name() return_type;`

To be clear:  Only questioning why there has to be a delimiter.  I'm _NOT_ questioning the placement/position of the return type hint.  (After thinking through all possible options, the placement makes sense to me.)

_Apologies in case this was discussed before already.  I'm new to internals.  I read the RFC.  The mailing list based infrastructure makes it a bit hard to retroactively follow discussions.  In case this was actively decided already, feel free to just point me to the thread that I may have missed._