Strict mode parsing: Handle strict mode future keywords

This handles BindingIdentifier and IdentifierExpression.

It does not yet go back and check the parameter names in a strict function.

Part of issue #242

Review URL: https://github.com/google/traceur-compiler/issues/252

Closes #252.
Move traceur.getUid to util/uid.js

Closes #258
Remove MissingPrimaryExpression tree and introduce SyntaxErrorTree

This cleans up some of the error cases. The parseX_ methods now never return
null, instead they return a SyntaxErrorTree.

Closes #257
Handle future reserved keywords in parameters

If, after parsing the function body, we changed from non strict to strict mode
we go through the parameters to ensure we do not have an future reserved
keywords.

Part of #242

Review URL: https://github.com/google/traceur-compiler/issues/256

Closes #256.
expand-js-template.js: Add '--deps' option to print deps to stdout.

- Hook automatic dep generation of js-template files into 'Makefile'.

BUG=None
TEST=None

Review URL: https://github.com/google/traceur-compiler/issues/251

Closes #251.
Update CONTRIBUTING.md

No need for people to manually squash after LGTM. We will do that as needed.
Add Travis CI configuration

Fixes #249
- Add basic node build and test execution
- Add build badge to README

Review URL: https://github.com/google/traceur-compiler/issues/266

Closes #266, closes #249.
Fix synchronous loading of modules

Async module loading got broken by ecafec3b59ad218c11133fec63e73bf83c4fc068.

Fixes #264

Review URL: https://github.com/google/traceur-compiler/issues/265

Closes #265, closes #264.
Update README.md

Remove moving notice
Merge branch 'master' into runtime-always-available--squashed

Conflicts:
	Makefile

Resolved conflict by keeping both changes, since they're unrelated.
s/traceur\.runtime/traceurRuntime/g on the source tree.

grep 'traceur\.runtime' -l -R src test build \
  | grep '\.js$' \
  | grep -v ModuleTransformer \
  | xargs sed -e 's/traceur\.runtime/traceurRuntime/g' -i
PredefinedName.js: add predefined name TRACEUR_RUNTIME.
Change '$traceur.runtime' to '$traceurRuntime' except for 'ModuleTransformer.js'.

grep 'TRACEUR' -l -R src test build \
  | grep -v 'ModuleTransformer.js' \
  | xargs sed \
    -e 's/{id(TRACEUR)}\.runtime/{id(TRACEUR_RUNTIME)}/g' \
    -e 's/{TRACEUR}.runtime/{TRACEUR_RUNTIME}/g' \
    -e 's/TRACEUR, RUNTIME/TRACEUR_RUNTIME/g' -i
inline-module.js: don't convert module attachments to '$traceurRuntime'.
StopIteration.js: add missing '$' signs to '$traceurRuntime'.
Make sure TRACEUR_RUNTIME is imported.

grep '^  TRACEUR' -l -R src test build \
    | grep -v ModuleTransformer \
    | xargs sed -e 's/^  TRACEUR/  TRACEUR_RUNTIME/g' -i
PredefinedName.js: Pivot 'TRACEUR' back to 'traceur'. Passes all tests.
Minimal diff that doesn't attach 'module.js' exports to the runtime.
Begin pivot over to use 'traceur.modules' instead of 'traceur.runtime'.
Build 'bin/traceur.js' to begin self-hosting name pivot.