Generic type assertions

This adds basic support for generics for the type assertions pass.
Right now the responsibility for validating the type is part of
the test. All Traceur does is to transform

`T<x, y>`

into

`$traceurRuntime.genericType(T, x, y)`

which now constructs a new $traceurRuntime.GenericType which the
testing asserts can inspect to determine how to validate the value.
This comment is confusing to me. The code seems to be checking the array item types. The `instanceof` test seems to be in the `else` branch.