Using more lenient comparison to null, it's safer than strict comparison to undefined or null
New: support for reusing macro definitions

After calling acorn.parse, you may now call acorn.getMacros to get an array of non-predefined macros. These macro objects may be passed in options.macros, which may now be a mixture of text and/or macro objects.

- Added Macro.prototype.getName().
- Added test/logging.js to test macro reuse.
- Added documentation in README for macro reuse.