Add php.trait Attribute for Thrift Structs
Add php.trait Attribute for Thrift Structs

Summary:
Adds (php.trait) as an attribute for Thrift structs to be generated as traits, rather than classes, as described in https://www.prod.facebook.com/groups/fbthrift/permalink/1491974344162796/ .

I am aware that certain kinds of Thrift structs will not work with this attribute, specifically exceptions (traits can't inherit Exception) and structures with constants (traits can't have const members).  Both of these issues can be addressed (e.g. make the const members getter functions instead) but I've chosen not to for now (we can iterate later).

Reviewed By: ckwalsh

Differential Revision: D4016014

fbshipit-source-id: 9e6c32e86ab0837873986e19d44cdbd2752d0370

getyourguide/fbthrift,getyourguide/fbthrift,getyourguide/fbthrift,SergeyMakarenko/fbthrift,SergeyMakarenko/fbthrift,getyourguide/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,SergeyMakarenko/fbthrift,getyourguide/fbthrift,getyourguide/fbthrift,facebook/fbthrift,getyourguide/fbthrift,facebook/fbthrift,getyourguide/fbthrift,getyourguide/fbthrift,SergeyMakarenko/fbthrift,getyourguide/fbthrift,SergeyMakarenko/fbthrift,getyourguide/fbthrift,facebook/fbthrift,SergeyMakarenko/fbthrift,facebook/fbthrift,SergeyMakarenko/fbthrift,SergeyMakarenko/fbthrift,SergeyMakarenko/fbthrift,SergeyMakarenko/fbthrift,SergeyMakarenko/fbthrift,getyourguide/fbthrift,SergeyMakarenko/fbthrift,facebook/fbthrift,facebook/fbthrift