differentiator: visitor-latex: fix parenthesizing subtrees of mul-div nodes.

Enclosing a subtree in parentheses can be skipped only if we have one or more
reciprocated nodes (and as such use the "\frac { ... } { ... }" construction).
differentiator: util-tree, visitor-latex: accept Node::Base* instead of Node::Base::Ptr&.

The passed node isn't replaced in these functions, so no need to pass ref-to-ptr.
This also allows to pass any other type of node with implicit upcasting.

Also update main-* for the new signatures.
c: an application to generate formulas for combination counts.