chg MultiGroupHF to UsageGroupHF

add a kind='not' UsageGroup
test in stack22929087
not can apply to action, a group, functions as 'not any'

clean up kwargs handling of title, etc
set joiner, parens, testfn all in one fn
more consistent raise_error in the testfn
I may have testfn to handle all tests based on presence/absence of actions