Use ArrayStack for tracking accumulation in tailrec folding
Make Rewriter a type alias, rather than a trait
Use object functions for rewriter combinators

And remove unused rewriter combinators
Add inSequence for applying multiple rewriters

topDown and bottomUp now need only handle a single rewriter
Use consistent dup(children) method in rewriting
Use foldt for parameter finding
Minor refactorings of Foldable

* Changed an implicit class to a private method
* Renamed foldt to treeFold