Implement require("ast-types").astNodesAreEquivalent.

The most interesting bit is the optional path tracking to improve
astNodesAreEquivalent.assert error messages.

Closes #46.
Add special cases for RegExp and Date values.
Print problem paths more readably.
Don't assert that the input values are AST nodes.
Give better error messages for empty problem paths.
Fall back to non-strict equality when all else fails.
Add tests of types.astNodesAreEquivalent.
Make sure types.astNodesAreEquivalent ignores .loc and .range.
Merge pull request #47 from benjamn/astNodesAreEquivalent

Implement require("ast-types").astNodesAreEquivalent.