Changed ordering of interfaces so that it is uniform among different
generic versions of a type.  This is key so that they refer to the
correct sets of methods.

Small updates to typechecking of generic interfaces in method arguments,
but there are still issues.