Given a formula, recursively go through the abstract syntax tree and extract the necessary parameters for use_contrasts(). While this method is more involved than extracting from a parsed string representation, I think it handles matrix calls better since it plucks the call right out of the syntax tree.
env: Environment for the formula, on the first recursion this will be pulled from formula and then passed to subsequent recursions. Needed to check whether a function is actually a function.
verbose: Logical, default TRUE, whether to show drop_trends warning if used incorrectly
Returns
Named list of parameters that can be evaluated in .process_contrasts()