Preliminary fix for issue #187
Checkpoint:
  More covariance tests
  When generating lists of generic parameter names, prefix the names with "in" and "out"
Move interface-focused test cases into their own folder
Extract logic for handling the generic argument name list (passed to MakeClass, etc) into a utility function.
Extract variance info from generic argument names ("in T", "out T")
Fix bad definition of System.Math
Add an error check to generic argument name handling