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.