tree traversals take functional inputs

These functions define how to manipulate terms

new(op, *args) -> make a new term
children(term) -> list of args
op(term) -> type of term (e.g. Add, Mul)
leaf(term) -> boolean if the term is a leaf
Merge pull request #1886 from mrocklin/strategies-parametrize

tree traversals take functional inputs
Fix printing Manifold and Differential in diffgeom package

    The blackboard bold font in the AMSFonts package only has capital
    letters.  So, if we want to print small leters (e.g. "d" for
    the differential operator symbol), we shouldn't use
    \mathbb{d} (or "d" just disappear).