Initial support for type parameters in functions

(a: number) -> a
compiles to
function(a: number) { return a; }

I suspect the implementation in nodes:Param.compileToFragments should be
done better. Perhaps @type there should be a TypeAnnotation object or
something.