Support for variance (+/-) annotations on type-parameters

Summary: We want to be able to write:
class X<+T1, -T2> {}
To be able to tell the type-checker that T1 is covariant and T2 is contravariant.
The annotation is ignored (dropped) by the runtime.

Reviewed By: @elgenie, @paroski

Differential Revision: D1512765