Fix return type assertions & arrow functions

Fixes #1443
Allow undefined/null as source for Object.assign

Fixes #1448
Add parsing support for type generics

Aka TypeArguments. The syntax is taken from the TypeScript spec
and here are some examples:

Array<number>
Map<number, boolean>
a.b<c, d.e, f.g.h>
Correct the relative path for traceur-loaded nodejs modules.

Using Module._compile() causes evaled code to require() relative to the
caller of _compile(). We want the require() to be relative to the file containing
the es6 code we transcoded.

Here we include a file-local function `require()` during transcoding of modules.
The local require() calls a runtime function with the module name and the required path.
The runtime function resolves the required path iff its relative.

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1434

Closes #1434.
Add missing file from previous commit.

TBR=@arv

Review URL: https://api.github.com/repos/google/traceur-compiler/issues/1454

Closes #1454.
Add support for class member variable