minimize strategy
treeseach
stratdict persists down treesearch calls
rename stratdict -> join
textual example in treesimp
objective keyword for treesearch
docstring for treesearch
separate treesearch to treeexec and greedyexec

Also expand docstrings
treeexec no longer assumes leaves are functions
remove strategies from treeexec
move treeexec to util
treeexec allows special 'leaf' input
leaf is a keyword
allexec
exhaustiveexec
consolidate tree functions in tree.py
rename functions in rules.tree
Add leaf keyword to brute and greedy
brute does not expand tuple
remove empty test_util