Add parsing support for more type syntax

This adds support for

 * ArrayType
 * CallSignature
 * CosntructSignature
 * ConstructorType
 * FunctionType
 * IndexSignature
 * MethodSignature
 * ObjectType
 * PropertySignature
 * TypeParameter

The only remaining type syntax left from TS 1.0 is the TypeQuery type
expression. (Interfaces and declare as well).

This does not yet add runtime asserts for any of these.
Pass options object into scanner

This is tested by making sure that the options used by the
PlaceholderParser are propagated to the scanner.
Add option --require to support node require() calls from 'register' modules.
Pass relativeRequire as argument to module instantitor.
ModuleTransformer adds 'require' parameter to module instantitor.
Fixes #1486