thrift enums: allow generating `std::hash` and `std::equal_to` for enums
thrift enums: allow generating `std::hash` and `std::equal_to` for enums

Summary: If specifying `cpp.generate_hash=1` and `cpp.generate_equal_to=1` in thrift enum options, these classes can be generated (definitions as well).  Similar to the options for structs (which only define the template classes but not their methods)

Test Plan: worked in another project; was able to use an enum with `std::unordered_map<EnumType>`

Reviewers: davejwatson, yfeldblum, alandau

Reviewed By: alandau

Subscribers: trunkagent, alandau, maoy, yzhan, yfeldblum

Differential Revision: https://phabricator.fb.com/D2214518

Signature: t1:2214518:1436217679:b85292ad5c7f7e16828261220bd497934f0b9ca4

raphaelamorim/fbthrift,facebook/fbthrift,getyourguide/fbthrift,HankFaan/fbthrift,soumith/fbthrift,SergeyMakarenko/fbthrift,sinjar666/fbthrift,sinjar666/fbthrift,facebook/fbthrift,Orvid/fbthrift,kangkot/fbthrift,getyourguide/fbthrift,getyourguide/fbthrift,guker/fbthrift,SergeyMakarenko/fbthrift,HankFaan/fbthrift,maxwell-demon/fbthrift,SergeyMakarenko/fbthrift,LinusU/fbthrift,LinusU/fbthrift,kangkot/fbthrift,HankFaan/fbthrift,facebook/fbthrift,kangkot/fbthrift,HankFaan/fbthrift,sinjar666/fbthrift,raphaelamorim/fbthrift,getyourguide/fbthrift,soumith/fbthrift,guker/fbthrift,HankFaan/fbthrift,SergeyMakarenko/fbthrift,kangkot/fbthrift,soumith/fbthrift,raphaelamorim/fbthrift,LinusU/fbthrift,guker/fbthrift,SergeyMakarenko/fbthrift,kangkot/fbthrift,SergeyMakarenko/fbthrift,HankFaan/fbthrift,sinjar666/fbthrift,raphaelamorim/fbthrift,LinusU/fbthrift,sinjar666/fbthrift,guker/fbthrift,LinusU/fbthrift,soumith/fbthrift,maxwell-demon/fbthrift,guker/fbthrift,HankFaan/fbthrift,Orvid/fbthrift,SergeyMakarenko/fbthrift,soumith/fbthrift,LinusU/fbthrift,maxwell-demon/fbthrift,kangkot/fbthrift,raphaelamorim/fbthrift,kangkot/fbthrift,facebook/fbthrift,guker/fbthrift,soumith/fbthrift,facebook/fbthrift,maxwell-demon/fbthrift,Orvid/fbthrift,facebook/fbthrift,LinusU/fbthrift,facebook/fbthrift,facebook/fbthrift,kangkot/fbthrift,kangkot/fbthrift,SergeyMakarenko/fbthrift,sinjar666/fbthrift,maxwell-demon/fbthrift,getyourguide/fbthrift,Orvid/fbthrift,sinjar666/fbthrift,facebook/fbthrift,maxwell-demon/fbthrift,sinjar666/fbthrift,maxwell-demon/fbthrift,LinusU/fbthrift,raphaelamorim/fbthrift,LinusU/fbthrift,soumith/fbthrift,kangkot/fbthrift,guker/fbthrift,HankFaan/fbthrift,getyourguide/fbthrift,raphaelamorim/fbthrift,Orvid/fbthrift,raphaelamorim/fbthrift,SergeyMakarenko/fbthrift,soumith/fbthrift,raphaelamorim/fbthrift,maxwell-demon/fbthrift,sinjar666/fbthrift,SergeyMakarenko/fbthrift,Orvid/fbthrift,SergeyMakarenko/fbthrift,sinjar666/fbthrift,kangkot/fbthrift,maxwell-demon/fbthrift,maxwell-demon/fbthrift,Orvid/fbthrift,Orvid/fbthrift,sinjar666/fbthrift,getyourguide/fbthrift,HankFaan/fbthrift,getyourguide/fbthrift,guker/fbthrift,soumith/fbthrift,getyourguide/fbthrift,raphaelamorim/fbthrift,HankFaan/fbthrift,raphaelamorim/fbthrift,guker/fbthrift,Orvid/fbthrift,SergeyMakarenko/fbthrift,soumith/fbthrift,LinusU/fbthrift,LinusU/fbthrift,guker/fbthrift,getyourguide/fbthrift,guker/fbthrift,maxwell-demon/fbthrift,Orvid/fbthrift,soumith/fbthrift,HankFaan/fbthrift,getyourguide/fbthrift,getyourguide/fbthrift,Orvid/fbthrift