add test cases for fold traversing macros
implement fold traversing macros
auto merge of #6981 : jbclements/rust/fold-traverses-macros, r=catamorphism

Fixes bug #2888 . Includes test cases

r? @catamorphism