Typechecker support for renamed attributes
Summary:
This diff implements typechecker support for strongly typed attributes
```
class __Attribute__A implements HH\ClassAttribute {
public function __construct(public int $i, public string $s, public int $j = 23);
}
<<A(1, "a")>> // correct constructor call
class C {}
<<A("x", "a")>> // "x" is a string, incompatible with int
class X {}
```
Reviewed By: jamesjwu
Differential Revision:
D6854512
fbshipit-source-id:
1edadd3f2ada6729f0f9bb8aefcdcca920bfc67b