Merge pull request #48 from gabelevi/master

Fix a few small issues in ast-types definitions.
Bump NPM version to 0.4.8 in preparation for publishing.
Make test/perf.js use types.visit instead of types.traverse.
Create child cache lazily to avoid Object.create(null) in Path constructor.
Scope: injectTemporary

Automatically injects a temp variable into the current scope. If identifiers is
not passed, creates one by default.
Merge pull request #50 from DmitrySoshnikov/scope_inject_temp

Implement Scope.prototype.injectTemporary.
Bump NPM version to 0.4.9 in preparation for publishing.
Object.seal PathVisitor Context objects to prevent unreliable extensions.

Adding new properties to `this` during visitor methods is unreliable
because the same `Context` object is not shared by all visitor methods,
and moreover `Context` objects get recycled after use, so any properties
added to them could be unexpectedly present during different visitor
method invocations.

If you need to share state between visitor methods, add a property to the
visitor itself, such as `visitor.state = {}`, and access `this.state`
within your visitor methods.
Comments & type annotations

This diff adds nodes for comments and for various type annotations