Use strict mode
Use `node.type` not `node.constructor.name`
The license only needs to appear once

Removes the license from the top of each file and uses multiple var
statements.
Merge pull request #1316 from visionmedia/use-strict

Use strict, remove license comment from files, use multiple vars, use node.type not node.constructor.name