make walk/visit_mac opt-in only

macros can expand into arbitrary items, exprs, etc. This
means that using a default walker or folder on an AST before
macro expansion is complete will miss things (the things that
the macros expand into). As a partial fence against this, this
commit moves the default traversal of macros into a separate
procedure, and makes the default trait implementation signal
an error. This means that Folders and Visitors can traverse
macros if they want to, but they need to explicitly add an
impl that calls the walk_mac or fold_mac procedure

This should prevent problems down the road.
DONT LET THIS COMMIT GO UPSTREAM
debugging, NO UPSTREAM
commenting out debugging printlns TEMP
WIP adding support for method macros
WIP adding support for method macros
commented-out parser code for method macros WIP
WIP adding method macros
WIP method macros
WIP method macros